Ruby默认情况下将IRB配置为Pretty_Inspect

use*_*975 5 ruby default pretty-print irb inspect

我对ruby很新,并且正在配置IRB.我喜欢漂亮的印花(需要'pp'),但总是输入pp来打印它似乎很麻烦.我想要做的是默认情况下使其打印,所以如果我有一个var,比如'myvar',并输入myvar,它会自动调用pretty_inspect而不是常规检查.我从哪里开始?理想情况下,我可以在自动调用的.irbrc文件中添加一个方法.有任何想法吗?

谢谢!

cld*_*ker 9

默认情况下,irb中的漂亮打印对象正是hirb的目标.这些 帖子解释了hirb如何将几乎任何东西转换为ascii表.虽然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
Run Code Online (Sandbox Code Playgroud)

这个相关的溢出解决方案也有一个实际的hirb示例.