[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
25.1 Definiciones para Arreglos y Tablas |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Crea un arreglo de dimensión n, que debe ser menor o igual que 5. Los subíndices de la i-ésima dimensión son enteros que toman valores entre 0 y dim_i.
La llamada array (nombre, dim_1, ..., dim_n)
crea un arreglo de tipo general.
La llamada array (nombre, type, dim_1, ..., dim_n)
crea un arreglo con sus elementos del tipo especificado. El tipo type puede ser fixnum
para enteros de tamaño limitado o flonum
para números decimales en coma flotante.
La llamada array ([nombre_1, ..., nombre_m], dim_1, ..., dim_n)
crea m arreglos, todos ellos de igual dimensión.
Si el usuario asigna un valor a una variable subindicada antes de declarar el arreglo correspondiente, entonces se construye un arreglo no declarado. Los arreglos no declarados, también conocidos por el nombre de "arreglos de claves" (hashed arrays), son más generales que los arreglos declarados. El usuario no necesita declarar su tamaño máximo y pueden ir creciendo de forma dinámica. Los subíndices de los arreglos no declarados no necesitan ser necesariamente números. Sin embargo, a menos que un arreglo tenga sus elementos dispersos, probablemente sea más eficiente declararlo siempre que sea posible antes que dejarlo como no declarado. La función array
puede utilizarse para transformar un arreglo no declarado a a uno declarado.
Evalúa A [i_1, ..., i_n]
, donde A es un arreglo y i_1, ..., i_n son enteros.
Esto es como apply
, excepto por el hecho de que el primer argumento es un arreglo en lugar de una función.
Devuelve una lista con información sobre el arreglo A. Para arreglos de claves (hashed arrays) devuelve una lista hashed
, el número de subíndices y los subíndices de aquellos elementos que tengan valor. Para arreglos declarados devuelve una lista declared
, el número de subíndices y los valores dados a la función array
cuando fue invocada para crear A. Hágase example(arrayinfo);
para ver un ejemplo.
Devuelve la expresión name [i_1, ..., i_n]
.
Esta función es similar a funmake
, excepto que el valor retornado es referencia a un arreglo no evaluado, en lugar de una llamada a una función no evaluada.
Valor por defecto: []
La variable arrays
es una lista con todos los arreglos que han sido alojados, hayan sido declarados o no.
Véanse también
array
, arrayapply
, arrayinfo
, arraymake
,
fillarray
, listarray
y rearray
.
Transforma la expresión expr dándole a cada suma y producto un único índice. Esto le da a changevar
mayor precisión cuando opera con sumas y productos. La forma del único índice es jnumber
. La cantidad number se determina en función de gensumnum
, valor que puede cambiar el usuario. Por ejemplo, haciendo gensumnum:0$
.
Rellena el arreglo A con los valores de B, que puede ser una lista o arreglo.
Si A es un array de números decimales en coma flotante (enteros) entonces B debe ser o bien una lista de números decimales en coma flotante (enteros), o bien otro arreglo de números en coma flotante (enteros).
Si las dimensiones de los areglos son diferentes, A se rellena según el orden de las filas. Si no hay suficientes elementos en B el último elemento se utiliza para cubrir el resto de A. Si hay demasiados, los elementos sobrantes son ignorados.
La función fillarray
devuelve su primer argumento.
Devuelve una lista con los elementos del arreglo declarado o tabla de claves A, en el orden de las filas. Los elementos que todavía no han sido declarados se representan mediante #####
.
Construye y devuelve un arreglo de Lisp. El argumento tipo puede ser any
, flonum
, fixnum
, hashed
o functional
. Hay n índices, y el índice i-ésimo va de 0 a dim_i - 1.
La ventaja de make_array
sobre array
estriba en que el valor retornado no tiene nombre, y una vez que un puntero deja de referenciarlo, el valor desaparece. Por ejemplo, si y: make_array (...)
entonces y
apunta a un objeto que ocupa cierto espacio en la memoria, pero después de y: false
, y
ya no apunta al objeto, por lo que éste puede ser considerado basura y posteriormente eliminado.
En la instrucción y: make_array ('functional, 'f, 'hashed, 1)
el segundo argumento de make_array
es la función que se debe invocar para calcular los elementos del arreglo, pasándose recursivamente a make_array
el resto de los argumentos para generar la "memoria" de la función arreglo.
Cambia las dimensiones de un arreglo. El nuevo arreglo será rellenado con los elementos del viejo según el orden de las filas. Si el arreglo antiguo era demasiado pequeño, los elementos restantes se rellenan con false
, 0.0
o 0
, dependiendo del tipo del arreglo. El tipo del arreglo no se puede cambiar.
Borra los arreglos y las funciones relacionadas con ellos, liberando el espacio de memoria ocupado.
La llamada remarray (all)
borra todos los elementos de la lista global arrays
.
La función remarray
devuelve la lista de los arreglos borrados.
Evalúa la expresión subindicada x[i]
.
La función subvar
evalúa sus argumentos.
La instrucción arraymake (x, [i]
construye la expresión x[i]
,
pero no la evalúa.
Ejemplos:
(%i1) x : foo $ (%i2) i : 3 $ (%i3) subvar (x, i); (%o3) foo 3 (%i4) foo : [aa, bb, cc, dd, ee]$ (%i5) subvar (x, i); (%o5) cc (%i6) arraymake (x, [i]); (%o6) foo 3 (%i7) ''%; (%o7) cc |
Valor por defecto: false
Si use_fast_arrays
vale true
entonces tan solo se reconocen dos tipos de arreglos.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by root on octubre, 3 2006 using texi2html 1.76.