Corso di Raku / Avanzato / Moduli / Basi dei moduli
Importazione
Esiste piu di un modo per portare un modulo in un programma. Le tre
istruzioni use, need e require
differiscono per quando il modulo viene caricato e per
cosa rende disponibile.
use
Hai gia incontrato use. Carica il modulo al momento
della compilazione e importa i suoi nomi esportati, cosi possono essere
chiamati direttamente:
use Greeting;
say hello('Anna'); # Hello, Anna!need
need carica anch’esso il modulo al momento della
compilazione, ma non importa i nomi esportati. Si raggiungono
comunque le variabili our del modulo attraverso il nome del
modulo:
need Greeting;
say $Greeting::version; # 1.0Dopo need Greeting, un semplice hello(...)
non verrebbe riconosciuto, perche nulla e stato importato — sono
disponibili solo i nomi qualificati, come
$Greeting::version.
require
require carica il modulo a tempo di esecuzione
anziche al momento della compilazione. Questo e utile quando non si sa
fino all’esecuzione del programma se un modulo sara necessario, per
esempio quando il suo nome viene deciso dall’input dell’utente.
Poiche il caricamento avviene a tempo di esecuzione, nulla viene importato automaticamente. Elencando i simboli desiderati tra parentesi angolari dopo il nome, li si importa e possono essere chiamati direttamente:
require Greeting <&hello>;
say hello('Anna'); # Hello, Anna!Per l’uso quotidiano, use e quello che serve;
need e require sono li per i casi meno
comuni.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Quiz —
use | Quiz —
use vs need →
💪 Oppure vai direttamente agli esercizi di questa
sezione.