それマグで!

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

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

irb のecho 出力のinspector をpry とおなじような awesome_printにする。

awesome_print: pry のように色付きで綺麗に出力する

awesome_print を使うと、inspectの出力を綺麗に整形することが出来る。

gem install awesome_print

ap コマンド pp/yaml/json と同じ短縮メソッド

短縮メソッドこそirbrubyの便利さ。

>>conf.echo=false
>>require 'awesome_print'
>> ap({ a:1 , b:1})
{
    :a => 1,
    :b => 1
}
>>

とても出力が見やすくなりました。

irb のデフォルト出力をawesome_print にする。

~/.irbrc

require 'awesome_print'
IRB::Inspector.def_inspector([:ap]){|v| ap v }

ap をinspector として :ap という名前で登録し

irb >

irb 側から、 :ap で呼び出してみる

irb: > conf.inspect_mode=:ap

これで、使えるようになる。

f:id:takuya_1st:20150707141124p:plain

つねにap モードにするには

.irbrcに以下のように書けばイイ

require 'awesome_print'
IRB::Inspector.def_inspector([:ap]){|v| ap v }
IRB::conf[:INSPECT_MODE] = :ap

pp にap 的な機能がアレばいいのにね。

irbでサブirb も使えるし、ネストしたオブジェクトもap できたら便利なのにね。

参考資料

singleton method IRB::INSPECTORS.def_inspector

library irb