28. defer 和 defer_delete 宏
Apply 模块实现了 defer 和 defer_delete 模式,即能够在不离开代码上下文的情况下将一些代码或 delete作附加到块的 finally 部分。
所有函数和交易品种都在 “defer” 模块中,使用 require 来访问它。
require daslib/defer
28.1. 函数注释
- DeferMacro
此宏转换 defer() <| block 表达式转换为 {},并将 block 移动到当前块的 finally 部分
28.2. 调用宏
- defer_delete
该宏将 defer_delete() 表达式转换为 {},并将 delete 表达式添加到当前块的 finally 部分
28.3. Defer
- defer(blk: block<void> const)
argument |
argument type |
---|---|
blk |
block<> const |
defer 一段代码。例如:
var a = fopen("filename.txt","r")
defer <|
fclose(a)
当 ‘a’ 超出范围时将关闭文件。
28.4. Stub
- nada()
helper 函数,该函数不执行任何作,并且将被优化