Equivalente em Ruby de Perl Data::Dumper
-
23-09-2019 - |
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?
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.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow