Cursus Raku / Reguliere expressies en grammatica’s / Reguliere expressies / Captures / Exercises / Stad en land

Oplossing: Stad en land

Hier is een mogelijke oplossing voor de taak.

Code

if 'London-UK' ~~ / $<city>=(\w+) '-' $<country>=(\w+) / {
    say ~$<city>;
    say ~$<country>;
}

🦋 Je kunt de broncode vinden in het bestand city-and-country.raku.

Uitvoer

London
UK

Opmerkingen

  1. $<city>=( … ) en $<country>=( … ) geven de twee captures namen in plaats van nummers.

  2. Na de match worden ze als $<city> en $<country> teruggelezen, wat duidelijker leest dan $0 en $1 zouden doen.

  3. Het voorvoegsel ~ zet elke capture in stringcontext zodat hij als kale tekst afgedrukt wordt; zonder dat zou say $<city> het matchobject als 「London」 tonen.

Cursusnavigatie

Stad en land   |   Achternaam eerst