scheme
Input Output in Scheme
Ricerca…
introduzione
Input e Output nello schema vengono generalmente gestiti attraverso le porte. Una porta è una struttura dati che viene utilizzata per interagire con il mondo esterno a Scheme. Una porta non è limitata ai file, ma può essere utilizzata per leggere / scrivere sui socket. In qualche modo, l'oggetto port è una sorta di oggetto universale che non può solo manipolare file e socket, ma qualsiasi tipo di operazione di lettura / scrittura con il sistema operativo. Ad esempio, si potrebbe implementare una porta che può scrivere su una stampante o persino controllare una macchina CNC da Scheme usando una porta.
Crea una porta di input
Una porta di input può essere creata in molti modi, ma di solito il metodo inizia con open-input- .
Porta stringa
Puoi usare una stringa come porta usando open-input-string . Creerà una porta che sarà in grado di leggere dalla stringa.
(define p
(open-input-string "(a . (b . (c . ()))) 34"))
Porta file
È possibile aprire un file per la lettura con open-input-file .
(define p
(open-input-file "path/to/file"))
Leggi da una porta di input
La lettura da una porta di input può essere eseguita in molti modi. Possiamo usare il metodo di read usato dalla REPL. Legge e interpreta le espressioni separate dallo spazio.
Prendendo l'esempio dalla porta delle stringhe sopra. Possiamo leggere dal porto in questo modo:
(define p
(open-input-string "(a . (b . (c . ()))) 34"))
(read p) -> (a b c)
(read p) -> 34
Possiamo leggere da una porta come char usando il metodo speciale read-char . Ciò restituirà un singolo carattere dalla porta da cui stiamo leggendo.
(define p (open-input-string "hello"))
(read-char p) -> #\h
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow