>> p "hi"; puts p "hello"
"hi"
"hello"
hello
=> nil
"hi"
出力から、と"hello"
が two で出力されていることが明らかです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
で起動されたと考えると、出力は次のようになりますprint
hello
hello
=>nil # then where the output of print statement went out?
しかし、実際の出力から、私はそれを結論付けることができません。
Ubuntu 12.10 と Ruby 1.9.3 を使用しています。何が起こっているのかを理解するのを手伝ってくれる人はいますか?