-1
我想要做的是給列的列表,獲取列格式的數組。我有一個列名稱的數組,並且a的關鍵字是列名稱,值是該列所需的格式。如果給定列的哈希中沒有值,則它在結果數組中不需要爲零。如何使用散列來轉換數組?
考慮:
report_columns = ["val1", "val2", "subtotal",
"othertotal", "grand_total", "moar_total"]
column_formats = {"grand_total" => @highlight_money,
"subtotal" => @money}
我可以很容易地使用此代碼做到這一點:
datatype_array = []
report_columns.each {|col| datatype_array << column_formats[col] }
# do stuff with datatype_array
但這是紅寶石。有一個更簡潔的方法來做到這一點!請讓我知道我錯過了什麼魔法。
我沒有看到改善的餘地,甚至是緊隨其後。 –
FWIW Ruby 2.3具有'Hash#to_proc',因此您可以執行'report_columns.map(&column_formats)'。 –
沒有'Hash#to_proc',你可以做'report_columns.map(&column_formats.method(:[]))'' –