宏实参

宏的实参有两面性。一面用来重载解析,另一面在宏体内使用。例如,如果 macro foo(arg: int) 在表达式 foo(x) 中调用, x 必须是与整型兼容的类型, 但在宏体 arg 的类型是 NimNode , 而不是 int !这么做的原因会在我们见到具体的示例时明白。

有两种给宏传递实参的方式,实参必须是 typeduntyped 中的一种。