Pergunta

Estou aprendendo que Ruby e Perl têm um módulo muito conveniente chamado Data::Dumper, que permite analisar recursivamente uma estrutura de dados (como hash) e imprimi-la.Isso é muito útil durante a depuração.Existe algo semelhante para Ruby?

Foi útil?

Solução

Olhe para pp

exemplo:

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

Há também o método de inspeção que também funciona bem

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

Outras dicas

Normalmente uso um dump YAML se preciso verificar algo rapidamente.

Em irb a sintaxe é simplesmente y obj_to_inspect.Em um aplicativo Ruby normal, pode ser necessário adicionar um require 'YAML' para o arquivo, não tenho certeza.

Aqui está um exemplo em 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
>> 

O final => nil significa apenas que o método não retornou nada.Não tem nada a ver com sua estrutura de dados.

você pode usar Marechal, Amarshal, Yaml

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top