src/littlesugar/setLambda

Search:
Group by:

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