Rubyには「puts」や「print」など、様々な出力系メソッドが存在しています。
今回は出力系メソッドの中でも「p, puts, printメソッド」の違いをまとめたので、それぞれ順番に解説していきます。
出力系メソッドとは
ログやコンソールに何らかの処理の結果を目に見える形で出力するためのメソッドのことです。
出力系メソッドの例として、
・printメソッド
・putsメソッド
・pメソッド
・printfメソッド
・sprintfメソッド
などが挙げられます。
pメソッド
pメソッドは出力する値と共に型情報(文字列や数値型など)を一緒に出力します。
例を見ていきましょう。
p "今日の最高気温は"
p 32
p "度です。"
上記を出力してみると、
“今日の最高気温は”
32
“度です。”
となります。
文字列はダブルクォーテーションで囲まれ、数字はそのまま出力されています。改行もされていますね。
putsメソッド
putsメソッドは引数(文字列)を出力します。
例を見ていきましょう。
puts "今日の最高気温は"
puts 32
puts "度です。"
上記を出力すると、
今日の最高気温は
32
度です。
となります。
pメソッドと違い、ダブルクォーテーションは外れています。改行は同様にされていますね。
printメソッド
printメソッドは引数(文字列)を出力します。ただし、出力結果は改行が行われません。
同様に例を見ていきましょう。
print "今日の最高気温は"
print 32
print "度です。"
上記を出力すると、
今日の最高気温は32度です。
となります。
ダブルクォーテーションは外されていますが、改行はされていませんね。
まとめ
以下はそれぞれの違いを簡単にまとめた表です。
| ダブルクォーテーション | 改行 | |
| pメソッド | あり | あり |
| putsメソッド | なし | あり |
| printメソッド | なし | なし |
今回はp, puts, printメソッドの違いを簡単にまとめてみました。
同じ出力系メソッドでも微妙な違いがあるので、これを機にしっかり復習しておきましょう!








