puts,p,printの違い


共通点:すべて画面出力に使用されます.
異なる点:putsがコンテンツを出力すると、自動的に改行されます(コンテンツパラメータが空の場合、改行記号は1つだけ出力されます).また、コンテンツパラメータにエスケープ文字がある場合、出力時にエスケープを先に処理してから出力pは基本的にputsと同じであるが、パラメータのエスケープシンボルprintは基本的にputsと同じではないが、コンテンツを出力した後、自動的に末尾に改行文字を付けることはない
s = "aaaa
bb\tbb"  p s p "****************" puts s p "****************" print s

出力結果は、「aaaaabbtbb」「************************」aaaabb「****************」aaaabb bbend
またrubyソースプログラムがutf-8符号化を使用する場合、p漢字を使用するとunicode値に変換されます
s =" " 
p s
puts s
print s

実行結果:「u 4 E 2 D」で