Cursus Raku / Geavanceerd / Modules / Pakketten en naamruimten / Pakketten en modules

Quiz — Pakketten

Wat drukt het volgende programma af?

module M {
    my $x = 5;
}

say $M::x.defined;
1False
0True
05
0An error

$x is gedeclareerd met my, dus het is lexicaal en komt nooit in de M-naamruimte terecht. Het pad $M::x vindt daarom niets — een ongedefinieerde waarde — en .defined geeft False. Alleen een our-variabele zou op deze manier bereikbaar zijn.

Cursusnavigatie

Pakketten en modules   |   Naamruimten en our