rubyのirb(pry)で変数をjson/yamlで見るのに便利な短縮メソッド jj/j/y
irb で変数を見るのに便利なメソッド。「 j 」「jj」
json 形式で変数を見れたら、便利なのですが。いつも JSON.dump とか不便だわと思ってたら。。。
json をrequire すると main オブジェクトに #j , #jj というプライベートなメソッドが増えていた。
self.private_methods.grep /^j$/ #=> [] require 'json' self.private_methods.grep /^j$/ #=> [:j]
irb が実行されているmain 空間にロードされていて、当然のことながらmain はKernel。なので、Kernelのプライベートメソッドにロードされている
>> Kernel.private_methods.grep /^[y|j]+$/ => [:j, :jj, :y] >>
main の中だけで使えて、プライベートなのでレシーバーをツケずに使う。
j だけでJSON.dump

puts → p のように 、j だけで出力されるんですね。
>> {a:1}
=> {:a=>1}
>> JSON.dump({a:1})
=> "{\"a\":1}"
>> j({a:1})
{"a":1}
=> nil
>>
改行を含めて可読性を高める jj
j だけだと物足りないので、jj とかも便利。
>> jj({a:1})
{
"a": 1
}
=> nil
yamlについても同様に
Yaml で出力とかも同様に行けます。
?> y({a:1})
---
:a: 1
=> nil
コレは便利だ。なんでいままで知らなかったんだろう。inspect で事足りてるんだろうなぁ。
