Подтвердить что ты не робот

Ruby эквивалент Perl Data:: Dumper

Я изучаю Ruby, и Perl имеет этот очень удобный модуль под названием Data:: Dumper, который позволяет вам рекурсивно анализировать структуру данных (например, хэш) и позволить вам печатать ее. Это очень полезно при отладке. Есть ли что-то похожее на Ruby?

4b9b3361

Ответ 1

Посмотрите на pp

Пример:

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

существует также метод проверки, который также прекрасно работает

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

Ответ 2

Обычно я использую дамп 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 означает, что метод ничего не возвращал. Это не имеет никакого отношения к вашей структуре данных.