代码:
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
做到这一点?)感谢任何可以帮助我解决这个问题的人。
正如您自己所说,您应该使用
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