Corso di Raku / Avanzato / Moduli / Pacchetti e namespace / Pacchetti e moduli

Quiz — Pacchetti

Cosa stampa il seguente programma?

module M {
    my $x = 5;
}

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

$x è dichiarata con my, quindi è lessicale e non entra mai nel namespace M. Il percorso $M::x quindi non trova nulla — un valore indefinito — e .defined restituisce False. Solo una variabile our sarebbe raggiungibile in questo modo.

Pacchetti e moduli   |   Namespace e our