Курс 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

Коментарі

  1. Граматика захоплює слово; клас дій вирішує, що з ним робити.

  2. $<word>.Str дає знайдений текст, а .uc переводить його у верхній регістр, — і саме це make зберігає на збігу.

Навігація курсом

Дія з верхнім регістром   |   Одна граматика, два класи дій