Ruby相当于Perl Data :: Dumper

时间:2010-01-29 02:02:43

标签: ruby perl-module

我正在学习Ruby& Perl有一个非常方便的模块叫做Data :: Dumper,它允许你递归地分析数据结构(比如哈希)&允许你打印它。这在调试时非常有用。 Ruby有类似的东西吗?

3 个答案:

答案 0 :(得分:19)

查看pp

示例:

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

还有一种检查方法也可以很好地运作

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

答案 1 :(得分:3)

如果我需要快速检查一下,我通常会使用YAML转储。

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只意味着该方法没有返回任何内容。它与您的数据结构无关。

答案 2 :(得分:2)

您可以使用MarshalamarshalYAML