Курс по 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— но механизмът на пространството от имена е един и същ във всеки случай.
Навигация в курса
← Пакет | Вложено име →