Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示哈希列表的快捷方式;“很好地”;_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 显示哈希列表的快捷方式;“很好地”;

Ruby on rails 显示哈希列表的快捷方式;“很好地”;,ruby-on-rails,ruby,Ruby On Rails,Ruby,当我有一个散列列表,比如.attributes调用的结果时,有什么简单的方法可以创建一个逐行的可读性很好的输出? 就像一条捷径 u.attributes.each {|p| puts p[0].to_s + ": " + p[1].to_s} 除非创建自己的方法,否则我不确定是否可以将其缩短 一个小的改进是: u.attributes.each {|k,v| puts "#{k}: #{v}"} 或者,您可以创建对散列的扩展: class Hash def nice_print

当我有一个散列列表,比如
.attributes
调用的结果时,有什么简单的方法可以创建一个逐行的可读性很好的输出? 就像一条捷径

u.attributes.each {|p| puts p[0].to_s + ": " + p[1].to_s}

除非创建自己的方法,否则我不确定是否可以将其缩短

一个小的改进是:

u.attributes.each {|k,v| puts "#{k}: #{v}"}
或者,您可以创建对
散列的扩展:

class Hash
  def nice_print
    each {|k,v| puts "#{k}: #{v}"}
  end
end

u.attributes.nice_print

除非创建自己的方法,否则我不确定是否可以将其缩短

一个小的改进是:

u.attributes.each {|k,v| puts "#{k}: #{v}"}
或者,您可以创建对
散列的扩展:

class Hash
  def nice_print
    each {|k,v| puts "#{k}: #{v}"}
  end
end

u.attributes.nice_print

如果您正在寻找用于开发目的的输出(例如在Rails日志文件中),
inspect
pretty\u inspect
应该这样做:

u.attributes.inspect


但如果您正在寻找一种在Rails控制台中很好地打印的方法,我相信您必须编写自己的方法,或者使用gem,比如awesome\u print,请参阅:

如果您正在寻找用于开发目的的输出(例如在Rails日志文件中),
inspect
pretty\u inspect
应执行以下操作:

u.attributes.inspect

但是,如果您正在寻找一种在Rails控制台中很好地打印的方法,我相信您必须编写自己的方法,或者使用像awesome\u print这样的gem,请参阅:

gem安装awesome\u打印

require "ap"
ap u.attributes
这条路怎么走

gem安装awesome\u打印

require "ap"
ap u.attributes

正如我在评论中所说的,我喜欢使用
y hash
put YAML.dump(hash)
在YAML中显示您的hash


也有相关内容。

正如我在评论中所说的,我喜欢使用
y hash
put YAML.dump(hash)
以YAML显示您的hash


也有关于它的。

我喜欢使用
y hash
put YAML.dump(hash)
在YAML中显示您的hash。您可能会喜欢。另请参见。我也推荐
awesome\u print
。@oldergod我最喜欢你的答案,因为它只是用于快速检查rails控制台中的内容,而不想为此添加宝石。而
y
确实是一个很好的方法来实现这一点,并且尽可能简短:)如果你想将此作为答案发布,我会将其标记为正确的方法。我喜欢使用
y hash
put YAML.dump(hash)
在YAML中显示你的哈希。你可能喜欢。另请参见。我也推荐
awesome\u print
。@oldergod我最喜欢你的答案,因为它只是用于快速检查rails控制台中的内容,而不想为此添加宝石。而
y
确实是实现这一点的好方法,而且尽可能简短:)如果你想将此作为答案发布,我会将其标记为正确答案