【发布时间】:2013-01-22 08:59:46
【问题描述】:
我知道这似乎是一个非常简单的问题,但我的 put 不断生成“=> nil”确实让我很困扰,我寻找答案但找不到答案。谢谢。
放'眨眼' *4 眨眼 眨眼 眨眼 眨眼 => 无
【问题讨论】:
我知道这似乎是一个非常简单的问题,但我的 put 不断生成“=> nil”确实让我很困扰,我寻找答案但找不到答案。谢谢。
放'眨眼' *4 眨眼 眨眼 眨眼 眨眼 => 无
【问题讨论】:
因为那是puts的返回值:
puts(obj, ...) → 无
像使用 IO#print 一样将给定的对象写入 ios。 写一个记录分隔符(通常是换行符)后任何不 已经以换行符序列结束。如果使用数组参数调用, 将每个元素写入新行。如果不带参数调用, 输出单个记录分隔符。
来源:http://www.ruby-doc.org/core-1.9.3/IO.html#method-i-puts
另外,我假设这只是在irb?因为在普通应用中调用puts不会显示其返回值。
【讨论】:
irb 可以编程,我只是要指出,在irb 之外的任何 ruby 程序中,除非您专门检查返回值,否则它不会显示给您。
您可能希望使用p 而不是puts。
p 打印然后返回值。
【讨论】:
Hunter McMillen 的回答是正确的。
但是,如果您想要一个实际返回非零值的 puts 替换,我创建了 a gem called reputs。
reputs 'blink ' *4
blink blink blink blink
=> "blink blink blink blink "
【讨论】: