我对ruby还是很陌生,并且正在配置IRB。我喜欢 pretty-print (需要'pp'),但是总是键入pp以便 pretty-print 似乎很麻烦。我想做的是默认情况下使其漂亮地打印,因此,如果我有一个var,例如“myvar”,然后键入myvar,它将自动调用pretty_inspect而不是常规的inspect。我从哪里开始?理想情况下,我可以将一个方法添加到自动调用的.irbrc文件中。有任何想法吗?

谢谢!

最佳答案

默认情况下,irb中 pretty-print 对象正是hirb要做的。 These posts解释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

This related overflow solution也有一个有关hirb的示例。

10-01 21:58