質問

私はルビーにかなり新たなんだ、とIRBの設定をしています。私はかなりの印刷は、(「PP」を必要とする)ように、しかし、それはかなりそれを印刷することは常にPPを入力する手間を思わ。私は何をしたいのは、それをデフォルトできれいな印刷を行うことですので、私はVARを持っている場合、たとえば、「MYVAR」、および型MYVARは、それが自動的にpretty_inspect代わりに定期点検を呼び出します。私はどこを始めるのですか?理想的には、私が自動的に呼び出され、私の.irbrcファイルにメソッドを追加することができるだろう。任意のアイデア?

ありがとう!

役に立ちましたか?

解決

IRBで、デフォルトでは

プリティプリントオブジェクトは、正確に何であるか HIRB を行うようにしました。 これらの<のhref = "のhttp: //tagaholic.me/2009/03/13/hirb-irb-on-the-good-stuff.html」のrel = 『nofollowをnoreferrer』>ポストはHIRBは、アスキーテーブルにほとんど何を変換する方法を説明を。 HIRBは、クラスごとに設定されることを意図していますが、表として表示されているすべてのオブジェクトを持つことができます:

# put this in ~/.irbrc
require 'rubygems'
require 'hirb'
Hirb.enable :output=>{'Object'=>{:class=>:auto_table, :ancestor=>true}}

# in irb
>> %w{three blind mice}
+-------+
| value |
+-------+
| three |
| blind |
| mice  |
+-------+
3 rows in set

>> 1..5
+-------+
| value |
+-------+
| 1     |
| 2     |
| 3     |
| 4     |
| 5     |
+-------+
5 rows in set

>> {:a=>1, :b=>2}
+---+---+
| 0 | 1 |
+---+---+
| a | 1 |
| b | 2 |
+---+---+
2 rows in set

この関連するオーバーフロー液もするアクションでHIRBの例があります。

他のヒント

ときIRB開始、それはあなたの$ HOMEディレクトリから.irbrc読み込みます。編集(または作成)、そのファイルを追加した場合や、

require 'pp'

それはあなたがIRBを起動するたびにロードされます。

方法をpretty_printする

チェックこのほかにも示しています。あなたの.irbrcでそれをトスし、あなたが行うことができます:

>> 5.pm
                      %(arg1)         Fixnum
                      &(arg1)         Fixnum
                      *(arg1)         Fixnum
                     **(arg1)         Fixnum
                      +(arg1)         Fixnum
                     +@()             Fixnum(Numeric)
                      -(arg1)         Fixnum
                     -@()             Fixnum
                      /(arg1)         Fixnum
                     <<(arg1)         Fixnum
                     >>(arg1)         Fixnum
                     [](arg1)         Fixnum
                      ^(arg1)         Fixnum
                    abs()             Fixnum
                    ago(arg1, ...)    Fixnum(ActiveSupport::CoreExtensions::Numeric::Time)
               between?(arg1, arg2)   Fixnum(Comparable)
                   byte()             Fixnum(ActiveSupport::CoreExtensions::Numeric::Bytes)
                  bytes()             Fixnum(ActiveSupport::CoreExtensions::Numeric::Bytes

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top