配列と、ある値を与えるとその値を返す関数があります。最終的には、配列の値をキー値として持ち、f(key_value)の結果を値として持つハッシュマップを作成したいのです。ブロックを使ってこれを行うには、Arrayのeach/mapのような、きれいで簡単な方法はありますか?
つまり、次のようなものと同等なものです。
hsh = {}
[1,2,3,4].each do |x|
hsh[x] = f(x)
end
に相当するもので、見た目がこれに似ていて、シンプルで一行で済むようなものはないでしょうか?
results = array.map { | x | f(x) }