parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

G_Z 15.11.2020 15:28

Если написать ^self.lnk[], в результате будет "obj method".
Это пример.

На деле параметром передаётся метод другого объекта, недоступный иначе.
Ну и опять же это только при вызове, при обращении к переменным идет обращение именно к локальной переменной...
У меня обратиться не получилось, да и помогло бы не сильно — везде не расставишь.
@print[lnk]
$link[$lnk]
^link[]
Что касается приоритета, наверное хотелось, чтобы ^if всегда значило именно ^if.
Операторы легко переопределяемы, наверное, это скорее плюс, чем минус.
Но беззащитность инкапсулированного в объекте кода перед операторами пугает.

Переопределение операторов на уровне параметров, кстати, могло бы быть полезно.

То есть, есть мнение, что приоритет у аргументов должен быть максимальным.
Если не брать в расчёт странные конструкции вида
@method[if;for;try]
, которые в любом случае контролируются разработчиком, особых последствий в голову не приходит.