特に、引数の数が不定の場合などに役立つ。
例:
# 配列の入った変数に対して
a = [1, 2, 3]
sprintf('%d %d %d', *a)
# => "1 2 3"
# 配列リテラルに対して直接使うこともできる
sprintf('%d %d %d', *[1, 2, 3])
# => "1 2 3"
逆に、不定個の引数を取る関数を定義したい場合には、仮引数にアスタリスクを付ける。
例:
def hoge(*a)
p a
end
hoge(1, 2, 3, 4)
# [1, 2, 3, 4]