Dod*_*djs 17 ruby ruby-on-rails
我有这样的OpenStruct哈希:
#<OpenStruct object1={
"param1"=>"2",
"param2"=>"1"
},
object2={
"param1"=>"2",
"param2"=>"1"
},
object3={
"param1"=>"2",
"param2"=>"1"
}...
Run Code Online (Sandbox Code Playgroud)
我each该如何使用?
Ben*_*Lee 28
OpenStruct有一个名为marshal_dump的方法,它返回底层的哈希结构:
your_open_struct.marshal_dump.each{ |k,v| puts "#{k} => #{v}" }
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Ruby 2.0,您也可以像这样使用to_h:
your_open_struct.to_h.each{ |k,v| puts "#{k} => #{v}" }
Run Code Online (Sandbox Code Playgroud)
与marshal_dump返回实际哈希结构的不同,to_h返回一个哈希,其中所有键都转换为符号以便于访问.