parent
f9c6cec90c
commit
fa332b7298
4 changed files with 102 additions and 21 deletions
27
tests/accept/run/tmacro2.nim
Normal file
27
tests/accept/run/tmacro2.nim
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
discard """
|
||||
output: "ta-da Your value sir: 'HE!!!!o Wor!!d'"
|
||||
"""
|
||||
|
||||
import macros, strutils
|
||||
|
||||
proc testBlock(): string {.compileTime.} =
|
||||
block myBlock:
|
||||
while true:
|
||||
echo "inner block"
|
||||
break myBlock
|
||||
echo "outer block"
|
||||
result = "ta-da"
|
||||
|
||||
macro mac(n: expr): expr =
|
||||
expectKind(n, nnkCall)
|
||||
expectLen(n, 2)
|
||||
expectKind(n[1], nnkStrLit)
|
||||
var s: string = n[1].strVal
|
||||
s = s.replace("l", "!!")
|
||||
result = newStrLitNode("Your value sir: '$#'" % [s])
|
||||
|
||||
const s = testBlock()
|
||||
const t = mac("HEllo World")
|
||||
echo s, " ", t
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue