Corso di Raku / Avanzato / Moduli / Pacchetti e namespace / Exercises / Un pacchetto
Soluzione: Un pacchetto
Ecco una possibile soluzione al compito.
Codice
package Temperature {
our $freezing = 0;
our sub fahrenheit($c) { $c * 9/5 + 32 }
}
say $Temperature::freezing;
say Temperature::fahrenheit(100);🦋 Puoi trovare il codice sorgente nel file a-package.raku.
Output
0
212Commenti
Sia la variabile che la subroutine sono dichiarate con
our, quindi entrambe diventano parte del namespaceTemperaturee sono raggiungibili dall’esterno.La variabile viene raggiunta come
$Temperature::freezing— sigillo, nome del package, poi nome della variabile — mentre la subroutine viene chiamata comeTemperature::fahrenheit(100). Convertendo100si ottiene100 * 9/5 + 32, che fa212.Un semplice
packagefornisce solo il namespace. Per una libreria riutilizzabile avremmo usatomodule— e, quando entrano in gioco gli oggetti, unaclass— ma il meccanismo del namespace è lo stesso in ogni caso.
Navigazione del corso
← Un pacchetto | Un nome annidato →