Corso di Raku / Oggetti, input/output ed eccezioni / Input e output
Flussi standard
Ogni programma ha tre flussi standard che lo collegano al
suo ambiente: l’output standard, l’errore standard e l’input standard.
Raku li rende disponibili attraverso tre variabili speciali:
$*OUT, $*ERR e $*IN.
Hai scritto sull’output standard fin dall’inizio: say e
print mandano il loro testo a $*OUT.
say 'Hello'; # goes to standard outputI messaggi diagnostici e di errore restano separati, sull’errore
standard, così non si mescolano con l’output vero del programma. La
routine note scrive lì:
note 'Something looks wrong'; # goes to standard errorQuesta separazione è utile perché i due flussi possono essere rediretti in modo indipendente: puoi per esempio salvare l’output di un programma in un file e continuare comunque a vedere i suoi messaggi di errore sullo schermo.
Puoi anche scrivere direttamente sui flussi. Sia $*OUT
sia $*ERR sono handle con i propri metodi
say e print:
$*OUT.say('a normal line');
$*ERR.say('a diagnostic line');Il terzo flusso, $*IN, è l’input standard. Lo hai
incontrato indirettamente attraverso prompt, che ne legge
una riga. Torneremo alla lettura dell’input quando guarderemo gli handle di file, perché $*IN
è un handle proprio come un file aperto.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Esercizi
Questa sezione contiene 3 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.