Я узнаю, что в Ruby & Perl есть очень удобный модуль Data::Dumper, который позволяет вам рекурсивно анализировать структуру данных (например, хэш) и позволяет вам распечатать ее. Это очень полезно при отладке. Есть ли что-то подобное для Ruby?
Рубиновый эквивалент Perl Data::Dumper
Ответы (3)
Посмотрите в пп
пример:
require 'pp'
x = { :a => [1,2,3, {:foo => bar}]}
pp x
есть также метод проверки, который также работает довольно хорошо
x = { :a => [1,2,3, {:foo => bar}]}
puts x.inspect
person
Daniel
schedule
29.01.2010
Обычно я использую дамп 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
просто означает, что метод ничего не вернул. Это не имеет ничего общего с вашей структурой данных.
person
Doug Neiner
schedule
29.01.2010