Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Grammatiken / Aktionsklassen / Exercises / Eine Aktion für Großbuchstaben

Lösung: Eine Aktion für Großbuchstaben

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

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

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

🦋 Du findest den Quellcode in der Datei upcase-action.raku.

Ausgabe

HELLO

Kommentare

  1. Die Grammatik capturt das Wort; die Aktionsklasse entscheidet, was damit geschieht.

  2. $<word>.Str liefert den getroffenen Text und .uc schreibt ihn groß, und genau das legt make auf dem Treffer ab.

Kursnavigation

Eine Aktion für Großbuchstaben   |   Eine Grammatik, zwei Aktionsklassen