我有一个这样的OpenStruct散列:
#<OpenStruct object1={
"param1"=>"2",
"param2"=>"1"
},
object2={
"param1"=>"2",
"param2"=>"1"
},
object3={
"param1"=>"2",
"param2"=>"1"
}...我如何在这上面使用each?
发布于 2011-12-31 17:21:32
OpenStruct有一个名为marshal_dump的方法,它返回底层的散列结构:
your_open_struct.marshal_dump.each{ |k,v| puts "#{k} => #{v}" }如果你使用的是Ruby2.0,你也可以像这样使用to_h:
your_open_struct.to_h.each{ |k,v| puts "#{k} => #{v}" }与返回实际散列结构的marshal_dump不同,to_h返回一个散列,其中所有键都转换为符号以便于访问。
https://stackoverflow.com/questions/8687349
复制相似问题