Curso de Raku / Avanzado / Módulos / Paquetes y espacios de nombres / Exercises / Un paquete
Solución: Un paquete
Aquí hay una posible solución para la tarea.
Código
package Temperature {
our $freezing = 0;
our sub fahrenheit($c) { $c * 9/5 + 32 }
}
say $Temperature::freezing;
say Temperature::fahrenheit(100);🦋 Puedes encontrar el código fuente en el archivo a-package.raku.
Salida
0
212Comentarios
Tanto la variable como la subrutina se declaran con
our, por lo que ambas pasan a formar parte del espacio de nombresTemperaturey son accesibles desde afuera.La variable se accede como
$Temperature::freezing— sigilo, nombre del paquete y luego nombre de la variable — mientras que la subrutina se llama comoTemperature::fahrenheit(100). Convertir100da100 * 9/5 + 32, que es212.Un
packagesimple proporciona solo el espacio de nombres. Para una biblioteca reutilizable habríamos usadomoduleen su lugar — y, una vez que los objetos entran en juego, unaclass— pero el mecanismo de espacio de nombres es el mismo en cada caso.
Navegación del curso
← Un paquete | Un nombre anidado →