Macros
macro setLambda(procVar: var proc; body: untyped): untyped
-
Assign an anonymous procedure to a procedual type variable easily.
Example:
var someProc: proc (x: int): int setLambda someProc, x * 3 + 1 doAssert someProc(1) == 4 setLambda someProc: if x == 0: result = -1 else: result = x doAssert someProc(0) == -1