Я сделал опечатку, вызвав метод с синтаксисом двоеточия.Я пропустил пробел после двоеточия и второго двоеточия для названного параметра.Я повторил свою проблему с помощью простого класса:
class Test {
method myMethod {
say "myMethod";
say %_;
}
}
Test.new.myMethod:test<this>; #mistyped call
Test.new.myMethod: :test<this>; #actual call
#Test.new.myMethod:"some_string";
Вывод:
myMethod
{}
myMethod
{test => this}
- Первый вызов myMethod без ошибок и без именованных аргументов.
- Второй работает, как и ожидалось.
- Третий генерирует ошибку времени компиляции пары двоеточий
Что означает синтаксис первого вызова и почему он не является ошибкой?Приветствия