我需要构建一个看起来像这样的哈希数组:
[
{:name=>"company", :value=>"Microsoft"},
{:name=>"type", :value=>"software"},
{:name=>"country", :value=>"US"},
{:name=>"valid", :value=>"yes"}
]
我不必继续定义名称和值字段,而是构建了一个如下所示的辅助函数:
def build(attributes=[])
list = []
attributes.each {|k,v| list.push({:name=> "#{k}", :value=> "#{v}"})}
list
end
然后我可以像这样简单地创建我的数组:
attribs = { :company => 'Microsoft', :type => 'software', :country=> 'US', :valid=> 'yes'}
puts build(attribs).inspect
#[{:name=>"company", :value=>"Microsoft"}, {:name=>"type", :value=>"software"}, {:name=>"country", :value=>"US"}, {:name=>"valid", :value=>"yes"}]
这对于 Ruby 来说似乎有点低效和冗长!是否有更清洁或更有效的方法来实现此结果?
问候,
卡尔斯基