Quick actions

cmd+k|ctrl+k

Navigation

Languages

Untitled

Snippet info

Language

Nim

Visibility

unlisted

Author

legacy-anonymous

Created

2017-07-22T20:11:22Z

Updated

2017-07-22T20:11:22Z


import macros
import tables

macro kwargs(args: varargs[untyped]): untyped =
    result = newNimNode(nnkTableConstr)
    for arg in args:
      expectKind arg, nnkExprEqExpr
      result.add newColonExpr(arg[0].toStrLit, newCall(bindSym"$", arg[1]))
    result = newCall(bindSym"toTable", result)

proc myFunc(a, b: int, kwargs: Table[string, string]): float =
    for key, value in kwargs:
        echo(key, ": ", value)
    return 10.0

var i = myFunc(45, 78, kwargs(hello="world", name="cyberlis", qwerty="xxxxx"))
INFO