Introducción a numericalio (Manual de Maxima 5.44.0)

Siguiente: Funciones y variables para entrada y salida en formato texto, Anterior: numericalio, Subir: numericalio [Índice general][Índice]

### 67.1 Introducción a numericalio

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.

#### 67.1.1 Entrada y salida en formato texto

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.

#### 67.1.2 Separadores válidos para lectura

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`.

#### 67.1.3 Separadores válidos para escritura

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 átomo`false` se escribe tal cual y una lista `[1234, false, Foo]` se escribe `1234,false,Foo`.

#### 67.1.4 Entrada y salida de decimales en formato binario

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]