阅读宏文档(http://nim-lang.org/docs/macros.html),我遇到了这段代码:
nnkIdent(!"echo")
我试图找到感叹号的含义,但在Nim文档中找不到任何内容。
那么:Nim中"string"
和!"string"
之间有什么区别?
答案 0 :(得分:4)
此上下文中的感叹号是用于创建标识符的宏语法。 Here的定义是:
proc `!`(s: string): NimIdent {.magic: "StrToIdent", noSideEffect.}
从字符串s
构造标识符