我知道这似乎是一个非常简单的问题,但我的 put 不断生成“=> nil”确实让我很困扰,我搜索了答案但找不到答案。谢谢。
puts 'blink' *4 blink blink blink blink => nil
因为那是的返回值puts
:
puts(obj, ...) → 无
与 IO#print 一样将给定对象写入 ios。在尚未以换行序列结尾的任何内容之后写入记录分隔符(通常是换行符)。如果使用数组参数调用,则将每个元素写入新行。如果不带参数调用,则输出单个记录分隔符。
来源:http ://www.ruby-doc.org/core-1.9.3/IO.html#method-i-puts
另外,我认为这只是在irb
?因为在普通应用程序中调用puts
不会显示它的返回值。
您可能想要使用p
而不是put
s。
p
打印然后返回值。
Hunter McMillen 的回答是正确的。
但是,如果您想要一个实际返回非零值的 puts 替换,我创建了一个名为 reputs 的 gem。
reputs 'blink ' *4
blink blink blink blink
=> "blink blink blink blink "