Corso di Raku / Espressioni regolari e grammatiche / Grammatiche / L’albero di analisi, make e made / Exercises / Estraete il numero

Soluzione: Estraete il numero

Ecco una possibile soluzione del compito.

Codice

grammar Weight {
    token TOP    { <number> 'kg' { make $<number>.Int } }
    token number { \d+ }
}

say Weight.parse('5kg').made;

🦋 Trova il programma nel file extract-the-number.raku.

Output

5

Commenti

  1. Lo schema riconosce le cifre e il letterale kg, ma il blocco in linea conserva solo $<number>.Int — l’intero, senza l’unità.

  2. made rilegge quel valore: un vero 5, pronto per i calcoli, invece del testo 5kg. È questo il compito tipico di make — trasformare una corrispondenza nel valore pulito che vuoi davvero.

Estraete il numero   |   Moltiplicate una coppia