Ruby on Rails:针对variable.hash_set.inspect的漂亮打印……有没有办法在控制台中打印漂亮的.inpsect?

我发现自己在function测试中做了很多put .inpsect,以确保我知道数据是如何格式化的……但是当哈希对象中的每个条目之后没有新行时,哈希很难读取。 无论如何,也许是gem?,漂亮的印刷哈希?

所以它看起来像这样:

{ entry1 => { entrey1.1 => 1, entry1.2 => 3 }, entry2 => 3 } 

而不是: { entry1 => { entrey1.1 => 1, entry1.2 => 3}, entry2 => 3 }

谢谢!

你可以使用awesome_print gem。

https://github.com/michaeldv/awesome_print

 require 'awesome_print' # if you like to have it in irb by default, add it to your irbrc >> ap({:a => 1, :b => [1,2,3], :c => :d}) { :b => [ [0] 1, [1] 2, [2] 3 ], :a => 1, :c => :d } 

btw,而不是puts object.inspect你也可以在打印之前使用在p object中调用inspect的p object 。 另一种打印比默认put更好的对象的方法是使用来自ruby stdlib的pphttp://ruby-doc.org/stdlib/libdoc/pp/rdoc/index.html

如果您愿意,可以随时在.irbrc文件中重新定义Hash#inspect ,以您想要的任何方式格式化它们。 这只会影响您的互动环境。 另一种方法是将它们表示为YAML,它通常更具可读性。 例如:

 def y(object) puts object.to_yaml return end 

通过这种方式,您可以像今天一样在对象上运行y