parser

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

 

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

Ответ

G_Z 17.02.2021 04:39 / 17.02.2021 04:45

Ну, это совсем магия с отбрасыванием части результата.
Сомневаюсь, что кто-то такое осознанно использует.
Вот потому и подумалось, что стоит эту магию убрать. :) И вроде как это оказалось возможно не ломая ничего другого.
Гораздо полезнее было бы такое (раз метод знает о контексте вызова):
^two[] # double

@one[]
$result(1)

@two[]
$result[^one[]]
То есть, чтобы, несмотря на квадратные скобки в @two, результат сохранял тот тип, который вернул @one, будто он передан по ссылке.
Но, насколько понимаю, такого подобной магией не добиться.
Это эффективные оптимизации, но если не соблюдать указанное правило, поведение будет не совсем очевидным (мягко скажем).
Мда, неожиданно.