有什么方法可以使用echo而不是在Nim中打印新行

问题描述 投票:0回答:1

代码:

echo "Name: "
var input = readLine(stdin)

echo "Your name is: " + input

结果:

Name:
<your name>
Your name is: <your name>

想要:

Name: <your name>
Your name is: <your name>

我希望有一种方法可以在 Nim 中使用 echo 来做到这一点(我知道

stdout.write
方法,但是有没有办法用
echo
做到这一点?)感谢任何可以帮助我解决这个问题的人。

echo nim-lang
1个回答
0
投票

正如您自己所说,您应该使用

stdout.write

echo
不是关键字,而只是一个内置过程,因此您可以轻松检查其定义:https://nim-lang.org/docs/system.html#echo%2Cvarargs%5Btyped%2C% 5D。而且,正如您所看到的,它需要的唯一参数是要打印的内容。

所以是的,如果您不想换行,请使用

stdout.write
。如果你想自动字符串化所有参数,你可以以相同的方式创建一个包装过程
echo
工作:

proc myecho(x: varargs[string, `$`]) = 
  for arg in x:
    stdout.write arg
  stdout.flushFile()

myecho 1, "2"
myecho 3 # same line
© www.soinside.com 2019 - 2024. All rights reserved.