.. _stdlib_assert_once: =========== 断言一次 =========== .. include:: detail/assert_once.rst assert_once 模块实现了一次性断言基础设施。 所有函数和符号都在 “assert_once” 模块中,使用 require 来访问它。:: require daslib/assert_once ++++++++++++++++++++ 函数注释 ++++++++++++++++++++ .. _handle-assert_once-AssertOnceMacro: .. das:attribute:: AssertOnceMacro 此宏将 assert_once(expr,message) 转换为以下代码:: var __assert_once_I = true // 这是一个全局变量 if __assert_once_I && !expr __assert_once_I = false assert(false,message) +++++++++ 断言 +++++++++ * :ref:`assert_once (expr:bool const;message:string const) : void ` .. _function-_at_assert_once_c__c_assert_once_Cb_Cs: .. das:function:: assert_once(expr: bool const; message: string const) +--------+-------------+ +argument+argument type+ +========+=============+ +expr +bool const + +--------+-------------+ +message +string const + +--------+-------------+ 与 assert 相同,只有第一次评估失败后不会重复检查。