3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rubyのsplat展開について

Posted at

はじめに

『プロを目指す人のための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ばかり触っているが、言語そのものの知見も同時に伸ばしたいという方にオススメの一冊です。
時間がある方はぜひ一度、じっくり読んでみましょう!

プロを目指す人のためのRuby入門

3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?