はじめに
『プロを目指す人のためのRuby入門』を読み進めていた時に気になった、splat展開についてまとめてみます。
Qiita初投稿ですので、どうかお手柔らかに。
そもそもsplat展開って何?
Arrayオブジェクトにアスタリスクをつけることによって、配列が自動で展開される構文のことです。
文章で説明するよりも、実際に使い方を見せた方が分かりやすいと思います。
irb
ary = [1, 2, 3]
# splat展開を使わない
[ary] #=> [[1, 2, 3]]
# splat展開を使う
[*ary] #=> [1, 2, 3]
上記を見ればわかる通り、配列を勝手に展開してくれます。
実用例
「別にいらない」と心の中で叫んだ方、いると思います。私もそうでした。
そんな方のために、今からsplit展開の実用例をお見せしますね。
例として、配列同士を連結させたい時は下記のような書き方になります。
irb
ary = [1, 2, 3]
[-1, 0] + a + [4, 5] #=> [-1, 0, 1, 2, 3, 4, 5]
長ったらしくて読みづらいですよね。こんな時にこそ、splat展開を使いましょう。
ary = [1, 2, 3]
[-1, 0, *ary, 4, 5] #=> [-1, 0, 1, 2, 3, 4, 5]
どうですか?読みやすくなりましたね。
最後に
最後に、この記事を書くにあたって参考にした『プロを目指す人のためのRuby入門』の著者の伊藤 淳一様、ありがとうございました。
実務ではRailsばかり触っているが、言語そのものの知見も同時に伸ばしたいという方にオススメの一冊です。
時間がある方はぜひ一度、じっくり読んでみましょう!