Static statement/expression
A static statement/expression explicitly requires compile-time execution. Even some code that has side effects is permitted in a static block:
static:
echo "echo at compile time"
static can also be used like a routine.
proc getNum(a: int): int = a
# Below calls "echo getNum(123)" at compile time.
static:
echo getNum(123)
# Below call evaluates the "getNum(123)" at compile time, but its
# result gets used at run time.
echo static(getNum(123))
There are limitations on what Nim code can be executed at compile time; see Restrictions on Compile-Time Execution for details. It’s a static error if the compiler cannot execute the block at compile time.
当前内容版权归 nim-lang.org 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 nim-lang.org .