Курс языка программирования Raku / Продвинутый уровень / Модули / Пакеты и пространства имён / Exercises / Пакет
Решение: Пакет
Вот возможное решение задачи.
Код
package Temperature {
our $freezing = 0;
our sub fahrenheit($c) { $c * 9/5 + 32 }
}
say $Temperature::freezing;
say Temperature::fahrenheit(100);🦋 Исходный код можно найти в файле a-package.raku.
Вывод
0
212Комментарии
И переменная, и подпрограмма объявлены с
our, поэтому обе становятся частью пространства имёнTemperatureи доступны извне.К переменной обращаются как
$Temperature::freezing— сигил, имя пакета, затем имя переменной, — а подпрограмма вызывается какTemperature::fahrenheit(100). Преобразование100даёт100 * 9/5 + 32, что равно212.Простой
packageпредоставляет только пространство имён. Для повторно используемой библиотеки мы бы использовалиmodule, а когда дело доходит до объектов —class, но механизм пространства имён во всех случаях одинаков.
Навигация по курсу
← Пакет | Вложенное имя →