懒执行块
懒执行块可以暂存一些指令,延迟执行,这对于错误处理非常有用。
全局的懒执行块
你可以在全局范围内定义懒执行块。
<variable-name> := {
# expressions to be executed lazily
# ...
}
使用小括号执行懒执行块,就像函数一样,但是没有任何参数。
<lazy-block>()
你可以使用 back
关键字提前结束懒执行块的执行
<variable-name> := {
back
# here will not be executed
}
你也可以使用带有值的 back
表达式返回值
<variable-name1> := {
back <backed-value>
# here will not be executed
}
<variable-name2> := <variable-name1>()
# <variable-name2> is defined with <backed-value>
函数内的懒执行块
你可以在懒执行块内返回函数
@<function-name>() {
<variable-name> := {
return <returned-value>
}
<variable-name>()
# here will not be executed
}
你可以利用这个特性简化错误处理
@<function-name>() {
<variable-name> := {
# error resolve
return <error-value>
}
# operations ...
if error {
<variable-name>()
}
# operations ...
if error {
<variable-name>()
}
}