スプラッタ

単項演算子アスタリスクの意味がよく分からない。

irb(main):001:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> p a
[1, 2, 3]
=> nil
irb(main):003:0> p *a
1
2
3
=> nil
irb(main):004:0> *b = 4,5,6
=> [4, 5, 6]

配列をバラしてオブジェクトの並びにしてしまう操作はスプラットするといい、このアスタリスクはスプラッタと呼ぶらしい。なるほど。しかし、多重代入でも使えるって直感的な記述だけど、なんか不思議。

スプラット(splat)は、splashなどと同じで液体がパシャとハネるようなことを示す擬音語的な動詞。血しぶきが飛ぶスプラッター映画のスプラッターだ。配列を引き裂いてビリビリにするようなニュアンスなんだろうか。