我需要建立哈希數組,看起來像這樣:紅寶石重新結構化數據
[
{: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"}]
這似乎豆蔻低效和詳細˚F或Ruby!有沒有更清潔或更有效的方法來達到這個結果?
問候,
Carlskii
該結構看起來非常像對象狀態的表示 - 值是:name始終是相同的集合,還是您需要應對運行時變化? – 2013-03-17 11:33:48
不幸的是,我將需要處理運行時變化! – user1513388 2013-03-17 11:35:13