nim-lang - 如何在 Nim 中编写类似于 `echo` 的函数?
问题描述
我正在尝试为echo
下面的代码编写包装器不起作用,操场
import sequtils, strutils, sugar
proc p*(args: varargs[typed, `$`]): void =
echo args.map((v) => $v).join(" ")
错误:
/usercode/in.nim(3, 8) Error: invalid type: 'typed' in this context: 'proc (args: varargs[typed])' for proc
解决方案
import sequtils, strutils, sugar
proc p*(args: varargs[string, `$`]): void =
echo args.join(" ")
varargs
接受要转换为的类型作为第一个参数,因此您的代码几乎是正确的,但是您需要替换typed
为,然后函数调用基本上string
相当于。p([$arg1, $arg2])
Nim 以示例为varargs
-链接