2010-01-29 64 views
16

我正在學習Ruby & Perl有這個非常方便的模塊,稱爲Data :: Dumper,它允許您遞歸地分析數據結構(如哈希)&允許您打印它。這在調試時非常有用。 Ruby有沒有類似的東西?Ruby的等價Perl數據:: Dumper

回答

18

查找到第

例如:

require 'pp' 
    x = { :a => [1,2,3, {:foo => bar}]} 
    pp x 

也有檢測方法也工作得很好

x = { :a => [1,2,3, {:foo => bar}]} 
    puts x.inspect 
2

可以使用MarshalamarshalYAML

+0

順便說一句,謝謝所有這些模塊。這是我可以使用的非常好的信息。 – John 2010-01-29 18:54:46

3

我通常使用YAM L轉儲,如果我需要快速檢查一些東西。

irb的語法是簡單的y obj_to_inspect。在一個普通的Ruby應用程序中,您可能需要向該文件添加一個require 'YAML',不確定。

這裏是irb一個例子:

>> my_hash = {:array => [0,2,5,6], :sub_hash => {:a => 1, :b => 2}, :visible => true} 
=> {:sub_hash=>{:b=>2, :a=>1}, :visible=>true, :array=>[0, 2, 5, 6]} 
>> y my_hash # <----- THE IMPORTANT LINE 
--- 
:sub_hash: 
    :b: 2 
    :a: 1 
:visible: true 
:array: 
- 0 
- 2 
- 5 
- 6 
=> nil 
>> 

最後=> nil只是意味着該方法不返回任何東西。它與你的數據結構無關。