技術書でハッシュについての学習をする中で、
ハッシュの展開方法を学んだのでまとめてみました。
#下準備として、rails consoleのsandbox環境を開く
rails c --sandbox
#ズームインのアイドル、そらじろうの特徴をハッシュにして、変数sorajiroに代入
pry(main)> sorajiro = { color: 'blue', type: 'animal', nationality: 'japan' }
=> {:color=>"blue", :type=>"animal", :nationality=>"japan"}
#sorajiroのキーと値を**で展開させる
pry(main)> { sex: 'male',**sorajiro }
=> {:sex=>"male", :color=>"blue", :type=>"animal", :nationality=>"japan"}
ハッシュsorajiroを展開することができた。
#sorajiroのキーと値を**_なし_で展開させる
pry(main)> { sex: 'male',**sorajiro }
SyntaxError: unexpected '}', expecting =>
{ sex: 'male',sorajiro }
^
上記のように** を付けない場合は、構文エラーになります。
###**の代わりにmergeメソッドを使っても同じ結果になる
pry(main)> sorajiro= { color: 'blue', type: 'animal', nationality: 'japan' }
{sex: 'male'}.merge(sorajiro)
Rubyの式展開の形は、#{sorajiro}の文字列の展開しか知らなかったので、一つ知見が増えました。
プロを目指す人のためのRuby入門