我是相当新的红宝石,并配置IRB.我喜欢漂亮的打印(需要'pp'),但它似乎是一个麻烦总是型pp为它漂亮的打印。什么我想要做的是让它漂亮的打印通过默认,因此如果我有一个var说,'myvar:'和类型myvar:时,它会自动调pretty_inspect而不是常规的检查。我从哪里开始?理想情况下,我将能够加入一个方法我.irbrc文件,该文件是自动呼吁。任何想法?

谢谢!

有帮助吗?

解决方案

漂亮的印象默认情况下,在移民和难民委员会到底是什么 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

此相关的溢出解决方案 还有一个例子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