是否可以在Raku中定义新的运算符并控制其优先级?

问题描述

考虑这个新的运算符:

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

say (2 + 1 *++ 3);

此代码显示:

10

但是,可以控制优先级吗?这样的行为是这样的:

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

无需使用括号

解决方法

可以通过is tighter

sub infix:<*++> (\num1,\num2) is tighter(&[+])  {
      num1 * num2 + 1
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...