hash中級

Ruby の `Hash#transform_values` の動作はどれですか?

  • キーをブロックの結果で変換した新しいハッシュを返す
  • 値をブロックの結果で変換した新しいハッシュを返す
  • キーと値の両方をブロックで変換する
  • ハッシュを配列に変換する

解説

`transform_values` は各値にブロックを適用した新しいハッシュを返します。`{ a: 1, b: 2 }.transform_values { |v| v * 2 }` は `{ a: 2, b: 4 }` になります。キーを変換するには `transform_keys` を使います。