【发布时间】:2015-06-29 08:44:04
【问题描述】:
阅读宏文档 (http://nim-lang.org/docs/macros.html),我遇到了这段代码:
nnkIdent(!"echo")
我试图找出感叹号的含义是什么,但在 Nim 文档中找不到任何内容。
那么:Nim 中的 "string" 和 !"string" 有什么区别?
【问题讨论】:
阅读宏文档 (http://nim-lang.org/docs/macros.html),我遇到了这段代码:
nnkIdent(!"echo")
我试图找出感叹号的含义是什么,但在 Nim 文档中找不到任何内容。
那么:Nim 中的 "string" 和 !"string" 有什么区别?
【问题讨论】:
此上下文中的感叹号是创建标识符的宏语法。 Here 是定义:
proc `!`(s: string): NimIdent {.magic: "StrToIdent", noSideEffect.}
从字符串 s 构造一个标识符
【讨论】: