[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
59.1 Introducción a numericalio | ||
59.2 Definiciones para numericalio |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
El paquete numericalio
define funciones para leer y escribir ficheros de datos.
Se lee el fichero completo a fin de construir un objeto, por lo que el paquete no
soporta lecturas parciales de archivos.
Cada elemento a leer o escribir en un fichero debe ser necesariamente 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.
El argumento opcional separator_flag, común a todas las funciones de lectura y escritura, indica qué carácter será el utilizado para separar elementos.
Para la lectura de ficheros 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
.
Para los ficheros de salida se utilizan los mismos formatos de separación
que para los de entrada; a los que se le añade tab
para separar
valores con tabulaciones.
En la entrada, 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
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lee el fichero file_name y devuelve su contenido completo en forma de matriz. Si no se especifica separator_flag, se entiende que los valores están separados por espacios.
La función read_matrix
obtiene el tamaño de la matriz a partir
de los datos de entrada. Cada línea del fichero forma una fila de
la matriz. Si hay filas con diferente número de elementos, read_matrix
emite un mensaje de error.
La función read_lisp_array
requiere que el arreglo sea declarado
por make_array
antes de solicitar la lectura del fichero, lo cual evita la
necesidad de calcular las dimensiones del arreglo, especialmente en el caso
de arreglos multidimensionales.
La función read_lisp_array
no comprueba si el fichero de
entrada es compatible con las dimensiones del arreglo; la entrada
se lee como una lista para a continuación completar el arreglo con
fillarray
.
La función read_maxima_array
requiere que el arreglo sea declarado
por array
antes de solicitar la lectura del fichero, lo cual evita la
necesidad de calcular las dimensiones del arreglo, especialmente en el caso
de arreglos multidimensionales.
La función read_maxima_array
no comprueba si el fichero de
entrada es compatible con las dimensiones del arreglo; la entrada
se lee como una lista para a continuación completar el arreglo con
fillarray
.
La función read_hashed_array
considera el primer término
de la línea como un índice, asociando a éste el
resto de la línea. Por ejemplo, una fila con el contenido
567 12 17 32 55
equivale a A[567]: [12, 17, 32, 55]$
.
Las filas no necesitan tener el mismo número de elementos.
La función read_nested_list
devuelve una lista con una sublista
por cada fila de entrada. Las filas no necesitan tener el mismo número de elementos.
Las filas vacías no se ignoran, dando lugar a sublistas
vacías.
La función read_list
lee todo el fichero de entrada como
una lista simple, ignorando los caracteres de fin de línea.
La función write_data
escribe el objeto X en el fichero
file_name.
write_data
escribe las matrices fila a fila.
write_data
escribe arreglos de Maxima y Lisp fila
a fila, con un salto de línea al final de
cada tabla. Las tablas multidimensionales se separan con
saltos de línea adicionales.
write_data
escribe arreglos codificados con un índice
seguido de una lista asociativa en cada línea.
write_data
escribe una lista anidada con una sublista por
línea.
write_data
escribe una lista simple en una única línea.
write_data
añadirá o inicializará el fichero de salida
según le indique la variable global file_output_append
.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by root on octubre, 18 2006 using texi2html 1.76.