>> p "hi"; puts p "hello"
"hi"
"hello"
hello
=> nil
从输出中可以很清楚地看到,"hi"并且"hello"已经被两个p. 然后puts打印在下面;
hello
=> nil
但问题是:作为p回报
"hello"
=> "hello"
什么puts从左边或右边收到的p?现在为了更深入地了解这一点,我尝试了以下方法:
>> p "hi"; puts print "hello"
"hi"
hello
=> nil
看了上面,我的理解是p打印了它的一个。与以下输出部分混淆。
hello
=>nil
是hello印刷print的时候左边的=> nil哪里?如果我认为puts已经用print返回值触发了,nil那么输出应该是
hello
=>nil # the extra blank line is for `nil.to_s` .
但从实际输出我无法得出结论。如果我认为puts已经用prints 打印值触发了,hello那么输出应该是
hello
=>nil # then where the output of print statement went out?
但从实际输出我无法得出结论。
我正在使用 Ubuntu 12.10 和 Ruby 1.9.3。谁能帮助我了解发生了什么?