with

    Dark Mode
Search:
Group by:

This module implements the with macro for easy function chaining. See https://github.com/nim-lang/RFCs/issues/193 and https://github.com/nim-lang/RFCs/issues/192 for details leading to this particular design.

Since version 1.2.

Macros

macro with(arg: typed; calls: varargs[untyped]): untyped
This macro provides the chaining of function calls. It does so by patching every call in calls to use arg as the first argument. This evaluates `arg` multiple times!

Examples:

var x = "yay"
with x:
  add "abc"
  add "efg"
doAssert x == "yayabcefg"
var a = 44
with a:
  +=4
  -=5
doAssert a == 43
  Source Edit