【发布时间】:2020-10-13 17:54:08
【问题描述】:
考虑这个新的运算符:
sub infix:<*++>(\num1, \num2) {
num1 * num2 + 1
}
say (2 + 1 *++ 3);
此代码打印:
10
但是,是否可以控制优先级?它的行为是这样的:
say (2 + (1 *++ 3))
无需使用括号
【问题讨论】:
标签: operators operator-precedence raku rakudo
考虑这个新的运算符:
sub infix:<*++>(\num1, \num2) {
num1 * num2 + 1
}
say (2 + 1 *++ 3);
此代码打印:
10
但是,是否可以控制优先级?它的行为是这样的:
say (2 + (1 *++ 3))
无需使用括号
【问题讨论】:
标签: operators operator-precedence raku rakudo
is tighter 是可能的
sub infix:<*++> (\num1, \num2) is tighter(&[+]) {
num1 * num2 + 1
}
【讨论】:
is equiv 或is looser。也许is equiv(&[*])在这里最合适。