Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Catture / Exercises / Città e paese

Soluzione: Città e paese

Ecco una possibile soluzione del compito.

Codice

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

🦋 Trova il programma nel file city-and-country.raku.

Output

London
UK

Commenti

  1. $<city>=( … ) e $<country>=( … ) danno alle due catture dei nomi invece che dei numeri.

  2. Dopo la corrispondenza si rileggono come $<city> e $<country>, il che si legge più chiaramente di quanto farebbero $0 e $1.

  3. Il prefisso ~ mette ogni cattura in contesto stringa così che si stampi come testo semplice; senza di esso, say $<city> mostrerebbe l’oggetto match come 「London」.

Città e paese   |   Prima il cognome