如何在 Nim 中编写类似于 `echo` 的函数?
How to write function similar to `echo` in Nim?
我正在尝试为 echo
编写包装器,下面的代码不起作用,playground
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
- link
我正在尝试为 echo
编写包装器,下面的代码不起作用,playground
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
- link