Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > p
p(*arg) -> object | Array
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
print arg[0].inspect, "\n", arg[1].inspect, "\n", ...
整形に用いられるObject#inspectは普通に文字列に変換すると 区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
puts "" #=> (空行) p "" #=> "" puts 50,"50" #=> 50 #=> 50 p 50,"50" #=> 50 #=> "50"
[SEE_ALSO] Object#inspect, Kernel.#puts, Kernel.#print