それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

irb のecho 出力をinspect pp から 別のもの(to_yaml) に変える方法

irb で y や jj と打ち込んで、出力を得ることがわかった。

>> y( { a:1 , b:1})
---
:a: 1
:b: 1
=> nil

でも、この出力を irb .echo のデフォルトに設定するのはどうするのだろう。

デフォルトをyamlにしてみたい→マニュアルにあった

irb のプロンプト中では conf.inspect_mode で、
.irbrc 中では IRB.conf[:INSPECT_MODE] に以下のいずれかの値を設定する事で、
結果出力の 方式を変更する事ができます。

false, :to_s, :raw
出力結果を to_s したものを表示します。

true, :p, :inspect
出力結果を inspect したものを表示します。

:pp, :pretty_inspect
出力結果を pretty_inspect したものを表示します。

:yaml, :YAML
出力結果を YAML 形式にしたものを表示します。

:marshal, :Marshal, :MARSHAL, Marshal
出力結果を Marshal.#dump したものを表示します。

というわけでやってみた。

>> conf.inspect_mode=:yaml
=> --- :yaml
...

>> { a:1 , b:1}
=> ---
:a: 1
:b: 1

デフォルトの出力を綺麗に変更できたら無理してpry使う理由が減ってしまう。。。

参考資料

library irb