expander

あるオブジェクトを展開させるためのオブジェクトです。 *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)

# キーワード引数の順序は未定義

ペアレント

Expander

スロット

value
展開されるオブジェクトです。