Курс языка программирования Raku / Регулярные выражения и грамматики / Грамматики / Классы действий / Exercises / Действие с верхним регистром
Решение: Действие с верхним регистром
Вот один из возможных вариантов решения задачи.
Код
grammar WordG {
token TOP { <word> }
token word { \w+ }
}
class UpcaseAction {
method TOP($/) { make $<word>.Str.uc }
}
say WordG.parse('hello', actions => UpcaseAction.new).made;🦋 Исходный код можно найти в файле upcase-action.raku.
Вывод
HELLOКомментарии
Грамматика захватывает слово, а класс действий решает, что с ним делать.
$<word>.Strдаёт совпавший текст,.ucпереводит его в верхний регистр, и именно этоmakeсохраняет на совпадении.
Навигация по курсу
← Действие с верхним регистром | Одна грамматика, два класса действий →