Рассмотрим этот новый оператор:
sub infix:<*++>(\num1, \num2) {
num1 * num2 + 1
}
say (2 + 1 *++ 3);
Этот код печатает:
10
Однако можно ли контролировать приоритет? Вот так он себя ведет:
say (2 + (1 *++ 3))
без скобок
Рассмотрим этот новый оператор:
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
}
is equiv
, или is looser
. Пожалуй, is equiv(&[*])
здесь наиболее подходит.
- person mscha; 15.10.2020