LoginSignup
2
0

More than 3 years have passed since last update.

[ハッシュ]**を使ったハッシュの展開

Last updated at Posted at 2020-05-10

技術書でハッシュについての学習をする中で、
ハッシュの展開方法を学んだのでまとめてみました。


#下準備として、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入門

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0