Ruby中类似于Perl Data::Dumper的工具是什么?

17

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

我正在学习Ruby,与Perl相比,Ruby是否有类似于Data::Dumper的便捷模块可以递归分析数据结构(例如哈希表),并将其打印出来,在调试代码时非常有用。请问是否存在此类模块?
3个回答

19

请查看pp

示例:

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

还有一个inspect方法,也非常有效

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

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

顺便说一句,感谢你提供的所有模块。那是我可以使用的非常好的信息。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接