17

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

4

3 回答 3

19

看pp

例子:

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

还有检查方法也很好用

  x = { :a => [1,2,3, {:foo => bar}]}
  puts x.inspect
于 2010-01-29T02:13:49.603 回答
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
>> 

final=> nil只是意味着该方法没有返回任何内容。它与您的数据结构无关。

于 2010-01-29T02:14:36.057 回答
2

你可以使用MarshalamarshalYAML

于 2010-01-29T02:09:01.467 回答