2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

puts, print, pメソッド

Last updated at Posted at 2020-05-10

ターミナルへの出力で多用される、puts, print, pメソッドのちがいについて、あやふやなところがあったので、
ここでそれぞれのちがいをまとめておきます。

メソッド 出力後の改行 配列の表示 呼び出すメソッド 戻り値
puts あり 要素ごとに改行 to_s nil
print なし 改行しない to_s nil
p あり 改行しない inspect 引数のオブジェクト

##putsメソッド
putsメソッドは改行を加えて、変数の内容やメソッドの戻り値をターミナルに出力します。
putsメソッド自身の戻り値はnilになります。

irb(main):001:0> puts 123
123
=> nil

irb(main):002:0> a = [1, 2, 3]
=> [1, 2, 3]

irb(main):003:0> puts a
1
2
3
=> nil

##printメソッド
printメソッドは、改行を加えません。

irb(main):004:0> print 123
123=> nil

##pメソッド
改行を加えて出力します。文字列を出力すると、その文字列がダブルクォーテーションで囲まれます。
また、引数で渡されたオブジェクトそのものがメソッドの戻り値になります。

irb(main):005:0> p 'abc'
"abc"
=> "abc"

irb(main):006:0> a = [1, 2, 3]
[1, 2, 3]
=> [1, 2, 3]

参考にした文献

プロを目指す人のためのRuby入門

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?