Siguiente: Funciones y variables para entrada y salida en formato texto, Anterior: numericalio, Subir: numericalio [Índice general][Índice]
El paquete numericalio
define funciones para leer y escribir ficheros de datos
y flujos. Las funciones de entrada y salida en formato texto pueden leer y escribir
números (enteros, decimales o decimales grandes), símbolos y cadenas.
Las funciones de entrada y salida en formato binario sólo pueden leer y escribir
números decimales.
Si ya existe una lista, matriz o array para almacenar los datos de entrada,
las funciones de entrada de numericalio
pueden escribir los datos
directamente en estos objetos. En caso contrario, numericalio
tratará
de generar el objeto apropiado para almacenar estos datos.
In plain-text input and output, it is assumed that each item to read or write is an atom:
En la entrada y salida de datos en formato texto se supone que cada dato es un átomo: un número entero, decimal, decimal grande, una cadena o un símbolo; no se admiten fracciones, números complejos o cualquier otra expresión no atómica. Estas funciones pueden llegar a realizar operaciones válidas con expresiones no atómicas, pero estos resultados no se documentan y están sujetos a cambios ulteriores.
Los átomos, tanto en los ficheros de entrada como en los de salida, tienen el
mismo formato que en los ficheros por lotes de Maxima o en la consola
interactiva. En particular, las cadenas deben encerrarse entre comillas
dobles, la barra invertida \
evita cualquier interpretación
especial del carácter siguiente, y el símbolo de
interrogación ?
se reconoce como el comienzo de un
símbolo de Lisp. No se reconoce ningún carácter de
continuación de línea interrumpida.
Las funciones para la entrada y salida de datos en formato texto tiene un argumento opcional, separator_flag, para indicar qué carácter se utiliza como separador.
Para la entrada de texto se reconocen los siguientes valores de la
variable separator_flag: comma
para los valores separados por
comas, pipe
para los valores separados por el carácter de la barra
vertical |
, semicolon
para los valores separados por punto y
coma ;
, y space
para cuando los valores se separan por espacios
o tabulaciones. Si el nombre del fichero tiene extensión .csv
y no se
especifica el argumento separator_flag, se tomará por defecto comma
.
Si el fichero tiene cualquier otra extensión diferente de .csv
y no se
especifica separator_flag
, se usará por defecto space
.
En la entrada de texto, varios espacios y tabulaciones sucesivos cuentan como un
único separador. Sin embargo, varias comas, barras verticales o punto y comas
sucesivos se interpretan que tienen el símbolo false
entre
ellos; por ejemplo, 1234,,Foo
se interpreta lo mismo que si fuese
1234,false,Foo
. En la salida, los átomos false
deben
escribirse explícitamente, por lo que la lista
[1234, false, Foo]
debe escribirse 1234,false,Foo
.
Para la entrada de texto se acepta tab
como valor de separator_flag
para datos separados por tabuladores, así como
comma
, pipe
, semicolon
y space
.
En la escritura de texto, el átomofalse
se escribe tal cual y
una lista [1234, false, Foo]
se escribe 1234,false,Foo
.
Las funciones de numericalio
pueden leer y escribir números decimales en
coma flotante de 8 bytes del estándar IEEE 754. Estos números se pueden escribir
empezando por el byte menos significativo o por el más significativo, según lo
indique la variable global assume_external_byte_order
. Por defecto, numericalio
los almacena con el byte más significativo primero.
Cualesquiera otros tipos de decimales son transformados a 8 bytes. El paquete
numericalio
no puede leer ni escribir datos binarios no numéricos.
Ciertos entornos Lisp no reconocen valores especiales del estándar IEEE 754
(más o menos infinito, valores no numéricos, valores no normales). El efecto
que pueda producir la lectura de tales valores por parte de numericalio
es imprevisible.
numericalio
incluye funciones para abrir un flujo de lectura o escritura
de flujos de bytes.
Siguiente: Funciones y variables para entrada y salida en formato texto, Anterior: numericalio, Subir: numericalio [Índice general][Índice]