返回哈希与Ruby的修改后的值 [英] Return hash with modified values in Ruby
本文介绍了返回哈希与Ruby的修改后的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想这样的:
{:ID => 5日:FOOS => [1,2,3]} {每个|。K,V | v.to_s}
但是,这回这样的:
{:ID =→5,:FOOS => [1,2,3]}
我想看到这一点:
{:ID =>5:FOOS =>中[1,2,3]}
我也试过的变化哈希#收集
和哈希#地图
。任何想法?
I've also tried variations of Hash#collect
and Hash#map
. Any ideas?
推荐答案
您可以使用的 对象#检查
:
you could use Object#inspect
:
{ :id => 5, :foos => [1, 2, 3] }.inject({}) do |hash, (key, value)|
hash.merge key => value.inspect
end
返回:
{ :foos => "[1, 2, 3]", :id => "5" }
如果你希望它是毁灭性的:
or if you want it to be destructive:
hash = { :id => 5, :foos => [1, 2, 3] }
hash.each_key { |key| hash[key] = hash[key].inspect }
这篇关于返回哈希与Ruby的修改后的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文