模板中的 Nim 可变参数?
Nim varargs in template?
如何在模板中使用 varargs
(我知道可以使用宏来实现,但我想知道是否也可以使用模板)?下面的例子不能编译
template require*(modules: varargs[untyped]) =
for m in modules:
from m import nil
require options, strutils
但这是有效的
template require*(a) =
from a import nil
template require*(a, b) =
from a import nil
from b import nil
require options, strutils
varargs
在模板中工作* 但您的用例需要宏,模板只是代码替换,以下代码不是有效的 nim 代码:
for m in [options, strutils]:
from m import nil
*varargs
在模板中的用法示例:
template require(modules: varargs[untyped]) =
import modules
require options, strutils
如何在模板中使用 varargs
(我知道可以使用宏来实现,但我想知道是否也可以使用模板)?下面的例子不能编译
template require*(modules: varargs[untyped]) =
for m in modules:
from m import nil
require options, strutils
但这是有效的
template require*(a) =
from a import nil
template require*(a, b) =
from a import nil
from b import nil
require options, strutils
varargs
在模板中工作* 但您的用例需要宏,模板只是代码替换,以下代码不是有效的 nim 代码:
for m in [options, strutils]:
from m import nil
*varargs
在模板中的用法示例:
template require(modules: varargs[untyped]) =
import modules
require options, strutils