See Original text in context
The smartmatch operator aliases the left-hand side to $_
, then evaluates the right-hand side and calls .ACCEPTS($_)
on it. The semantics are left to the type of the right-hand side operand.
Here is a partial list of some of the built-in smartmatching functionality. For full details, see ACCEPTS documentation for the type on the right-hand side of the operator.
Right-hand side | Comparison semantics |
---|---|
Mu:U | type check |
Str | string equality |
Numeric | numeric equality |
Regex | regex match |
Callable | Boolean result of invocation |
Set/Bag | equal element values |
Any:D | object identity |