首页 > 解决方案 > 如何在 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

标签: nim-lang

解决方案


import sequtils, strutils, sugar

proc p*(args: varargs[string, `$`]): void =
  echo args.join(" ")

varargs接受要转换为的类型作为第一个参数,因此您的代码几乎是正确的,但是您需要替换typed为,然后函数调用基本上string相当于。p([$arg1, $arg2])

Nim 以示例为varargs-链接


推荐阅读