Курс Raku / Регулярні вирази та граматики / Граматики / Класи дій / Вправи / Дія з верхнім регістром
Розв’язання: Дія з верхнім регістром
Ось одне з можливих розв’язань задачі.
Код
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зберігає на збігу.