Home » gem » awesome_print でrubyオブジェクトの内部構造を綺麗に表示 ruby

awesome_print でrubyオブジェクトの内部構造を綺麗に表示 ruby

awesome_print とは

irbでのRubyオブジェクトをきれいに印刷して構造を可視化して出力してくれるすぐれもの。

そして、プラグインによるカスタムオブジェクトの書式設定のサポートもしてます。

awesome_printを導入

awesome_print をインストール

$ gem install awesome_print

使用方法

通常では下記のようになります。

irb(main):012:0> data
=> {"hokkaido"=>1, "akita"=>2, "aomori"=>3, "iwate"=>4, "miyagi"=>5, "yamagata"=>6, "yamanashi"=>7, "kanagawa"=>8, "shizuoka"=>9, "tokyo"=>10}

使用するために、awesome_printを組み込みます。

$ require 'awesome_print' # awesome_printを入れる

では awesome_print で出力してみます。

irb(main):015:0> ap data
{
 "hokkaido" => 1,
 "akita" => 2,
 "aomori" => 3,
 "iwate" => 4,
 "miyagi" => 5,
 "yamagata" => 6,
 "yamanashi" => 7,
 "kanagawa" => 8,
 "shizuoka" => 9,
 "tokyo" => 10
}
=> nil

上記のように整頓されてから出力されているのがわかります。
見やすいとストレスフリーで快適ですので、
入れるのをオススメします。

オプションの使い方

一部のオプション

indent:        4#インデントするスペースの数。
index:         true#配列のインデックスを表示します。
html:          false# HTMLではなくANSIカラーコードを使用します。
multiline:     true#複数の行に表示します。
plain:         false#色を使用します。
raw:           false#インスタンス変数を再帰的にフォーマットしません。
sort_keys:     false#ハッシュキーをソートしません。
sort_vars:     true#インスタンス変数をソートします。
limit:         false#配列とハッシュを制限する。boolまたはintを受け入れます。
ruby19_syntax: false#出力にRuby 1.9のハッシュ構文を使用します。

実際にオプションを使用してみます。
オプションを使う場合は、
ap [オブジェクト],[オプション名]:[オプション名に準ずる値]
でオプションを適用して表示できます。

 

では実際にオプションを使用してみます。

今回はmultilineオプションで複数行で表示されないようにしてみます。

irb(main):019:0> ap data,multiline:false
{ "hokkaido" => 1, "akita" => 2, "aomori" => 3, "iwate" => 4, "miyagi" => 5, "yamagata" => 6, "yamanashi" => 7, "kanagawa" => 8, "shizuoka" => 9, "tokyo" => 10 }
=> nil

multilineのオプションではtrueの場合は複数行で表示ということですので、
実行したものはfalseなので複数行では表示しないということになります。
false なので上記のようになり、複数行では表示できないようにできます。

 

用途に応じてオプションを使って、開発を高速化しましょう!

参考文献

,

コメントを残す

%d人のブロガーが「いいね」をつけました。