scheme
Salida de entrada en esquema
Buscar..
Introducción
La entrada y la salida en el esquema generalmente se manejan a través de los puertos. Un puerto es una estructura de datos que se utiliza para interactuar con el mundo fuera de Scheme. Un puerto no se limita a archivos, sino que se puede usar para leer / escribir en sockets. De alguna manera, el objeto de puerto es un tipo de objeto universal que no solo puede manipular archivos y sockets, sino también cualquier tipo de operación de lectura / escritura con el sistema operativo. Por ejemplo, uno podría implementar un puerto que pueda escribir en una impresora o incluso controlar una máquina CNC desde Scheme usando un puerto.
Crear un puerto de entrada
Un puerto de entrada se puede crear de muchas maneras, pero generalmente el método comienza con la entrada open-input- .
Puerto de cadena
Puede usar una cadena como puerto usando una cadena open-input-string . Creará un puerto que podrá leer desde la cadena.
(define p
(open-input-string "(a . (b . (c . ()))) 34"))
Puerto de archivo
Puede abrir un archivo para leer con el open-input-file .
(define p
(open-input-file "path/to/file"))
Leer desde un puerto de entrada
La lectura desde un puerto de entrada se puede hacer de muchas maneras. Podemos usar el método de read usado por el REPL. Leerá e interpretará expresiones separadas por espacios.
Tomando el ejemplo del puerto de cadena anterior. Podemos leer desde el puerto así:
(define p
(open-input-string "(a . (b . (c . ()))) 34"))
(read p) -> (a b c)
(read p) -> 34
Podemos leer desde un puerto como char usando el método especial read-char . Esto devolverá un solo carácter del puerto desde el que estamos leyendo.
(define p (open-input-string "hello"))
(read-char p) -> #\h
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow