Perl 6 Regex является более конкретным типом Method, поэтому у меня возникла идея, что, может быть, я смогу сделать что-нибудь магическое с помощью обычного метода, который производит то же самое. Мне особенно любопытно делать это без изменения грамматики.
Однако, глядя на Perl6 / Grammar.nqp ( что я почти не понимаю), что на самом деле это не наследство. Я думаю, основываясь на моем чтении, что грамматика Perl 6 переключает сленги (подязыки), когда видит один из деклараторов регулярных выражений. То есть другая грамматика анализирует внутренности regex { ... }
и method {...}
.
Итак, во-первых, правильно?
Затем, просто для смеха, я подумал, что, возможно, я мог бы быть внутри блока метода, но сказать ему, чтобы он использовал другой сленг (см., Например, " Сленги "из Адвент-календаря Perl 6 на 2013 год или "Сленг сегодня").
Однако все, что я нашел, похоже, хочет изменить грамматику. Есть ли способ обойтись без этого и вернуть строку, которая обрабатывается так, как если бы она была получена из regex { ... }
?
method actually-returns-a-regex {
...
}
Практической пользы от этого у меня нет. Я просто все думаю об этом.
MAIN
P6 анализирует тело объявленияmethod
, но используетRegex
сленг / грамматика для анализа телаregex
объявления. - person raiph   schedule 06.07.2017