Rubino equivalente di Perl Data :: Dumper
-
23-09-2019 - |
Domanda
Sto imparando Ruby & Perl ha questo molto comodo modulo chiamato Data :: Dumper, che permette di analizzare in modo ricorsivo una struttura di dati (come hash) e permettono di stamparlo. Questo è molto utile durante il debug. C'è qualche cosa di simile per Ruby?
Soluzione
Se vuoi in pp
Esempio:
require 'pp'
x = { :a => [1,2,3, {:foo => bar}]}
pp x
c'è anche il metodo che funziona anche abbastanza bene ispezionare
x = { :a => [1,2,3, {:foo => bar}]}
puts x.inspect
Altri suggerimenti
Io di solito uso una discarica YAML se ho bisogno di controllare rapidamente qualcosa.
Nel irb
la sintassi è semplicemente y obj_to_inspect
. In un normale Rubino app, potrebbe essere necessario aggiungere un require 'YAML'
al file, non è sicuro.
Ecco un esempio in 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
>>
Il => nil
finale significa semplicemente il metodo non ha restituito nulla. Non ha nulla a che fare con la struttura dei dati.
è possibile utilizzare maresciallo , amarshal , YAML