4
2

【Ruby】puts / print / p / pp の違い 【チェリー本を読んで】

Last updated at Posted at 2023-09-26

はじめに

今回の記事は過去に「プロを目指す人のためのRuby入門」を読んで、勉強になった・意識していなかった
部分を備忘録的にまとめています。

puts print p pp のメソッドについてどれも出力に使用するものですが、
どれも挙動が少し違います

それで、puts / print / p / pp の違いは何なの?

結論

メソッド 出力後の改行 配列の表示 呼び出すメソッド 戻り値 対象者
puts あり 要素ごとに改行 to_s nil 一般ユーザ
print なし 改行しない to_s nil 一般ユーザ
p あり 改行しない inspect 引数のオブジェクト 開発者
pp あり 見やすく整形 inspect 引数のオブジェクト 開発者

挙動として、上記の図のようになります!
因みに pp の見やすく整形は配列だけではなく、ハッシュ等の大きく複雑なものも見やすく整形されます。

まとめ

Rubyを触ったばかりの時は自分も、あまり意識せずに出力することが多々ありました。

使い分けとしては、putsは改行したい時に使用して、printは改行せずに出力する際に使用します。
また、pはオブジェクトの内容をそのまま出力する際に使用し、ppはより詳細な情報(インデントや改行)も含めて表示したい場合に使用します。

今回の記事が参考になれば幸いです。

参照

4
2
0

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
4
2