Raku-Kurs / Fortgeschritten / Module / Pakete und Namensräume / Exercises / Eine our-Variable

Lösung: Eine our-Variable

Hier ist eine mögliche Lösung der Aufgabe.

Code

package Config {
    our $port = 8080;
    my  $secret = 42;
}

say $Config::port;
say $Config::secret.defined;

🦋 Du findest den Quellcode in der Datei our-variable.raku.

Ausgabe

8080
False

Kommentare

  1. our $port wird Teil des Config-Namensraums und ist daher von außen als $Config::port erreichbar, was 8080 ausgibt.

  2. my $secret ist lexikalisch — privat für den Package-Block — und gehört daher nicht zum Namensraum. Der Pfad $Config::secret findet nichts, einen undefinierten Wert, sodass .defined False ergibt. Das ist der Unterschied, den our ausmacht.

Kursnavigation

Eine our-Variable   |   Ein Paket