Raku kurss / Padziļināti / Moduļi / Pakotnes un vārdtelpas 🆕
Pakotnes un moduļi
Atslēgvārds package ievieš vārdtelpu. Viss, kas tajā
deklarēts ar our, kļūst par šīs vārdtelpas daļu un ir
sasniedzams no ārpuses, izmantojot pakotnes nosaukumu un ::
atdalītāju:
package Maths {
our $pi = 3.14;
our sub double($x) { $x * 2 }
}
say $Maths::pi; # 3.14
say Maths::double(5); # 10Mainīgajam piekļūst kā $Maths::pi — sigils, tad pakotnes
nosaukums, tad mainīgā nosaukums. Apakšprogrammu izsauc kā
Maths::double(...).
Gan package, gan module izveido vārdtelpu;
tie atšķiras ar to, ko vēl papildus dara. module ir parastā
izvēle atkārtoti lietojamam kodam, savukārt vienkāršs
package ir tikai vārdtelpa bez papildinājumiem.
(class, ar kuru iepazīsieties nākamajā
daļā, arī izveido vārdtelpu un papildus pievieno objektorientēto
mehānismu.)
module Greet {
our sub hello { 'hi' }
}
say Greet::hello; # hiTātad vārdtelpa, ko jūs saņēmāt no module, ir tas pats
mehānisms, ko package nodrošina pats par sevi. Izvēle starp
tiem lielākoties ir par nodomu: module bibliotēkām,
package tīrai vārdtelpai — un, kad nonākat pie objektiem,
class tipiem.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Pakotnes un vārdtelpas 🆕 | Viktorīna — Pakotnes →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.