ruby中的打印function
我是ruby初学者。 我有以下代码,询问用户他的名字并打印回来。
print 'Enter your name : ' name = gets() print("Hey,#{name} !")
如果我输入John Doe作为名称,则输出如下
Hey,John Doe !
print
不同于puts
不会在输出后自动添加新行但我注意到在上面的例子中我在#{name}
之后输入的任何内容都打印在一个新行上。 为什么会这样?
gets()
返回按Enter键导致的换行符。 尝试使用name = gets().chomp
将其修剪掉。
如果你在OS X上,并在irb中运行它,你也可以输入“John Doe”,然后按两次control + d。
我认为windows的等价物是control + z。
此外,如果您确实print name.inspect
,那么您肯定会发现该name
包含换行符 – 它会打印出"John Doe\n"
。