pメソッド、putsメソッド、printメソッドの違い
改行の有無
pメソッド
p 'これは' p 'pメソッド'
結果
"これは" "pメソッド"
putsメソッド
puts 'これは' puts 'putsメソッド'
結果
これは putsメソッド
printメソッド
print 'これは' print 'printメソッド'
結果
これはprintメソッド
まとめると、
- 改行有り
・pメソッド
・putsメソッド
- 改行無し
・printメソッド
になります。
ここで気になるところが、、、
pメソッドで出力した際にダブルクォーテーションが付いたままになっています。
次の章で説明します!
pメソッドにおける型情報の出力
上記のようにpメソッドで出力した際にダブルクォーテーションが付いているのは、
型情報も一緒に出力しているからです。
つまり、ダブルクォーテーションで囲むことで文字列であることを表しています。
数値だとこれはついてきません。
pメソッド
p 'これはpメソッド' p 20200625
結果
"これはpメソッド" 20200625
変数の扱い
これについてはあまり差異は無いかと思いますが、
強いて挙げるなら、上記で説明したようにpメソッドでは型情報も出力されることでしょうか・・・。
今回は一気に見ていきましょう。
apple = 'りんご' juice = 'ジュース' print apple, juice puts apple, juice p apple, juice
結果
りんごジュースりんご ジュース "りんご" "ジュース"
上記のように、
printメソッドは改行しないのでputsメソッドで最初に出力したappleは1段目に出力されています。
また、pメソッドは型情報も出力するのでダブルクォーテーションがついています。
変数を引数に渡すだけで出力することができることはどれも同じですね!
まとめ
- pメソッド
・改行をする
・引数と引数の型情報(文字列or数値)も一緒に出力する
- putsメソッド
・改行する
・引数を出力する
- printメソッド
・改行しない
・引数を出力する