Приоритет операторов перед аргументами
G_Z 15.11.2020 10:04
Несколько раз подобное обсуждалось, но либо я запамятовал, либо раньше не замечал всей глубины картины:
@main[]
$obj[^obj::create[]]
^obj.print[$obj:lnk]
@lnk[]
operator
@CLASS
obj
@OPTIONS
locals
@create[]
@print[lnk]
^lnk[]
@lnk[]
obj method
Результат:
operatorПонятно, что оператор — конструкция приоритетная, но чтобы параметры перебивать…
Максимально стараюсь использовать классы и везде явно указываю класс или
$self, но тут и это не поможет.
Выходит, в данном случае вообще нет способа обратиться к параметру, а не к оператору.
И появление оператора, одноимённого параметру метода, сломает код объекта.
- Приоритет операторов перед аргументами, G_Z [M] 15.11.2020 10:04
- Ответ, moko [M] 15.11.2020 14:47
- Ответ, G_Z [M] 15.11.2020 15:28