12

考虑这个新的运算符:

sub infix:<*++>(\num1, \num2) {
    num1 * num2 + 1
}

say (2 + 1 *++ 3);

此代码打印:

10

但是,是否可以控制优先级?它的行为如下:

say (2 + (1 *++ 3))

无需使用括号

4

1 回答 1

15

可以通过is tighter

sub infix:<*++> (\num1, \num2) is tighter(&[+])  {
      num1 * num2 + 1
}
于 2020-10-13T18:43:59.107 回答