puts/print/pの違い(Ruby)
【結論】
・Rubyで標準出力に出力する方法は、標準ライブラリに3種類(puts/print/p)存在する
・printは、引数のオブジェクトを文字列に変換し、標準出力に出力する。putsは、更に改行を加える。戻り値はnilになる。
・pは、引数のオブジェクトを分かりやすい文字列にして標準出力に出力します。戻り値は引数のオブジェクトになる。
【目次】
【本題】
標準出力に出力する方法
ターミナル上でコマンドを実行して、標準出力(画面)に出力する場合、Rubyでは3種類の方法があります。
今回は、それらの違いについてまとめます。
printは、引数のオブジェクトを文字列に変換し、標準出力に出力するメソッドです。
str = "ピコピコ太郎" arr = ["apple", "pen", "pineapple"] print str ピコピコ太郎=> nil print arr ["apple", "pen", "pineapple"]=> nil
puts
putsも、引数のオブジェクトを文字列に変換し、標準出力に出力するメソッドです。
printとの違いは、改行を追加するという点です。
str = "ピコピコ太郎" arr = ["apple", "pen", "pineapple"] puts str ピコピコ太郎 => nil puts arr apple pen pineapple => nil
p
pは、引数のオブジェクトを分かりやすい文字列にして標準出力に出力します。
また、戻り値はnilではなく、引数にしたオブジェクトになります。
str = "ピコピコ太郎" arr = ["apple", "pen", "pineapple"] p str "ピコピコ太郎" => "ピコピコ太郎" p arr ["apple", "pen", "pineapple"] => ["apple", "pen", "pineapple"]
参考情報
https://ref.xaio.jp/ruby/classes/kernel/puts