.. _stdlib_static_let: ================ static_let macro ================ .. include:: detail/static_let.rst static_let 模块实现了 static_let 模式,允许声明局部作用域的私有全局变量。 所有函数和符号都在 static_let 模块中,使用 require 可以访问该模块。 :: require daslib/static_let ++++++++++++++++++++ 函数注释 ++++++++++++++++++++ .. _handle-static_let-StaticLetMacro: .. das:attribute:: StaticLetMacro 此宏实现了 `static_let` 和 `static_let_finalize` 函数。 ++++++++++++++++++++++++++++ 静态变量声明 ++++++++++++++++++++++++++++ * :ref:`static_let (blk:block\<\> const) : void ` * :ref:`static_let_finalize (blk:block\<\> const) : void ` .. _function-_at_static_let_c__c_static_let_C_builtin_: .. das:function:: static_let(blk: block<> const) +--------+-------------+ +argument+argument type+ +========+=============+ +blk +block<> const+ +--------+-------------+ 给定一个包含变量声明的作用域,该函数将使这些变量全局化。 变量将被重命名,所有对它的本地访问也将被重命名。 .. _function-_at_static_let_c__c_static_let_finalize_C_builtin_: .. das:function:: static_let_finalize(blk: block<> const) +--------+-------------+ +argument+argument type+ +========+=============+ +blk +block<> const+ +--------+-------------+ 这与普通的 static_let 非常相似,但变量会在上下文关闭时被删除。