ハッシュ基礎レベル

Ruby の { a: 1 }.merge({ b: 2 }) の結果はどれですか?

  • 1{ a: 1 }(元のハッシュは変わらない)
  • 2{ b: 2 }(上書きされる)
  • 3{ a: 1, b: 2 }
  • 4TypeError が発生する

解説

merge は2つのハッシュを合わせた新しいハッシュを返します。元のハッシュは変更しません。破壊的に変更する場合は merge!(または update)を使います。キーが重複する場合は引数側の値で上書きされます。

問題一覧へ戻る