我有一个大哈希嵌套数组和哈希。我想简单地打印出来,所以它'可读'的用户。

我希望它有点像to_yaml -这是相当可读的-但仍然太高科技看起来。

最终需要读取这些数据块的将是最终用户,因此它们需要被清晰地格式化。

有什么建议吗?


当前回答

如果你有JSON,我推荐JSON.pretty_generate(散列),因为它比awesome_print更简单,在pre标签中看起来很棒,并且允许轻松地从网页复制。(请参见:如何在Ruby on Rails中“漂亮”地格式化JSON输出?)

其他回答

在我尝试的所有宝石中,show_data宝石对我来说工作得最好,我现在广泛地使用它来记录Rails中的参数散列

另一个解决方案比pp或awesome_print更适合我:

require 'pry' # must install the gem... but you ALWAYS want pry installed anyways
Pry::ColorPrinter.pp(obj)

使用Pry,你只需要添加以下代码到你的~/.pryrc:

require "awesome_print"
AwesomePrint.pry!

如果要打印给用户,请使用上面的答案。

如果你只想在控制台为自己打印,我建议使用撬宝石而不是irb。除了漂亮的印刷,撬还有很多其他功能(查看下面的railscast)

宝石安装撬

看看这个铁路广播:

http://railscasts.com/episodes/280-pry-with-rails

如果你没有任何花哨的宝石操作,但有JSON,这个CLI行将适用于哈希:

把JSON.pretty_generate (my_hash)。Gsub (":", " =>")

#=>
{
  :key1 => "value1",

  :key2 => "value2",

  :key3 => "value3"
}