Torniamo sulla terra. Lasciamo per un momento tutti i concetti “teorici” e ingegneristici della programmazione Scheme per tornare ad alcuni aspetti pratici.
E’ importante, in qualunque linguaggio di programmazione, saper gestire abilmente l’input/output, sia quello “utente” sia quello “file”. Soprattutto in scheme, linguaggio con particolari vocazioni per il data-mining, saper leggere escrivere file diventa fondamentale.
Per leggere flussi dati in ingresso o in uscita Scheme utilizza le porte.
Le porte sono canali connessi alle varie periferiche di uscita/ingresso del sistema. Possono essere usate sia per leggere o scrivere su stdin/stdout (come scanf e printf in C) sia per leggere da file.
CREARE UNA PORTA
Creare una porta è semplicissimo:
1 2 | (open-input-file str) ;Per un file in lettura. (open-output-file str) ;Pre un file in scrittura. |
Ovviamente al posto di str ci va il percorso del file che si vuole aprire.
LEGGERE
Per leggere si utilizza semplicemente il comando:
1 | (read port) |
Dove port è la porta che abbiamo aperto in precedenza.
Il comando
1 | (eof-object port) |
ci dice, invece, se abbiamo raggiunto la fine del file.
NOTA: Se nessuna porta è specificata Scheme leggerà dallo standard input (terminale).
SCRIVERE:
Analogamente alla lettura Scheme offre i seguenti comandi per scrivere:
1 2 3 | (write obj port) ;Scrive l'oggetto obj sulla porta port (display obj port) ;Mostra l'oggetto obj attraverso la porta port (newline port) ;Scrive una linea vuota sulla porta port |
Come nel caso della lettura anche qui, se non specifichiamo la porta, Scheme effettuerà la scrittura sullo standard output (ovvero sul terminale).
Questa lezione termina quì. L’uso delle porta in Scheme è veramente molto semplice. Appena posso posterò degli esempi.
Alla prossima.