-1
私がしようとしているのは、列のリストを与え、列形式の配列を取得することです。私は列名の配列を持っています、そして、キーは列名であり、値は列が必要とする形式です。指定された列のハッシュに値がない場合、結果の配列にはnilでなければなりません。考えるハッシュを使用して配列を変換するにはどうすればよいですか?
:
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) 'を実行できます。 –
そして 'ハッシュ#to_proc'がなければ、' report_columns.map(&column_formats.method(:[])) 'を実行することができます。 –