In Operators§
See primary documentation in context for infix xx.
multi infix:<xx>() multi infix:<xx>(Mu \x) multi infix:<xx>(&x, Num:D() $n) multi infix:<xx>(&x, Whatever) multi infix:<xx>(&x, Bool:D $b) multi infix:<xx>(&x, Int:D $n) multi infix:<xx>(Mu \x, Num:D() $n) multi infix:<xx>(Mu \x, Whatever) multi infix:<xx>(Mu \x, Bool:D $b) multi infix:<xx>(Mu \x, Int:D $n)
In general, it returns a Sequence of $a repeated and evaluated $b times ($b is coerced to Int). If $b <= 0, the empty list is returned. It will return an error with no operand, and return the operand itself with a single operand. An exception X::Numeric::CannotConvert will be thrown if $b is -Inf or NaN.
The left-hand side is evaluated for each repetition, so
say [1, 2] xx 5; # OUTPUT: «([1 2] [1 2] [1 2] [1 2] [1 2])»
returns five distinct arrays (but with the same content each time), and
rand xx 3
returns three pseudo random numbers that are determined independently.
The right-hand side can be *, in which case a lazy, infinite list is returned. If it's a Bool, a Seq with a single element is returned if it's True.