はじめに
今回の記事は過去に「プロを目指す人のためのRuby入門」を読んで、勉強になった・意識していなかった
部分を備忘録的にまとめています。
puts print p pp のメソッドについてどれも出力に使用するものですが、
どれも挙動が少し違います
それで、puts / print / p / pp の違いは何なの?
結論
| メソッド | 出力後の改行 | 配列の表示 | 呼び出すメソッド | 戻り値 | 対象者 |
|---|---|---|---|---|---|
| puts | あり | 要素ごとに改行 | to_s | nil | 一般ユーザ |
| なし | 改行しない | to_s | nil | 一般ユーザ | |
| p | あり | 改行しない | inspect | 引数のオブジェクト | 開発者 |
| pp | あり | 見やすく整形 | inspect | 引数のオブジェクト | 開発者 |
挙動として、上記の図のようになります!
因みに pp の見やすく整形は配列だけではなく、ハッシュ等の大きく複雑なものも見やすく整形されます。
まとめ
Rubyを触ったばかりの時は自分も、あまり意識せずに出力することが多々ありました。
使い分けとしては、putsは改行したい時に使用して、printは改行せずに出力する際に使用します。
また、pはオブジェクトの内容をそのまま出力する際に使用し、ppはより詳細な情報(インデントや改行)も含めて表示したい場合に使用します。
今回の記事が参考になれば幸いです。
参照