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
5Commenti
Lo schema riconosce le cifre e il letterale
kg, ma il blocco in linea conserva solo$<number>.Int— l’intero, senza l’unità.maderilegge quel valore: un vero5, pronto per i calcoli, invece del testo5kg. È questo il compito tipico dimake— trasformare una corrispondenza nel valore pulito che vuoi davvero.