あるオブジェクトを展開させるためのオブジェクトです。 *value のように記述します。 評価すると、スロット value を評価した新しい expander を返します。
expander は、リストと引数において使用されます。下に例を挙げます。
list = [2, 3] say([1, 2, *list]) #=> [1, 2, 2, 3] hash = %{ 'b => 4, 'c => 5 } args = &(3, :d 1) say(&(1, :a 2, *list, *hash, *args)) #=> &(1, 2, 3, 3, :a 2, :b 4, :c 5, :d 1) # キーワード引数の順序は未定義 |