Kurso de Raku / Regulesprimoj kaj gramatikoj / Gramatikoj / Agoklasoj / Exercises / Ago per majuskloj

Solvo: Ago per majuskloj

Jen ebla solvo de la tasko.

Kodo

grammar WordG {
    token TOP  { <word> }
    token word { \w+ }
}

class UpcaseAction {
    method TOP($/) { make $<word>.Str.uc }
}

say WordG.parse('hello', actions => UpcaseAction.new).made;

🦋 Vi povas trovi la fontkodon en la dosiero upcase-action.raku.

Eligo

HELLO

Komentoj

  1. La gramatiko kaptas la vorton; la agoklaso decidas, kion fari kun ĝi.

  2. $<word>.Str donas la kongruintan tekston kaj .uc majuskligas ĝin, kaj tio estas, kion make konservas sur la kongruo.

Kursa navigado

Ago per majuskloj   |   Unu gramatiko, du agoklasoj