miércoles, 10 de marzo de 2010

Declarar Arreglos en AWK

El lenguaje de programación Awk soporta el uso de arrays (arreglos). La vez pasada se publico algo sobre las variables en Awk. Los arreglos son una extensión de las variables. Son variables que contienen mas de un valor. Así como las variables los arrays también tienen nombre. En algunos lenguajes de programación el array tiene que ser declarado por eso se aloca memoria para el arreglo. Tambien los arreglos indices son enteros por lo general, por ejemplo array[1],array[2] etc.,

Arreglos Asociativos Awk

Awk solo soporta arreglos asociativos. Los arreglos asociativos son como los arreglos tradicionales con la diferencia que usan cadenas en vez de números como indices. Cuando usas un arreglo asociativo puedes imitar el arreglo tradicional usando una cadena numérica como indice.

Sintaxis:

nombredelarreglo[cadena]=valor

Accediendo a los elementos del arreglo Awk

Si deseas acceder a un elemento en particular en un array, puedes hacerlo a través de su indice — arreglo[indice], lo cual te devolverá el valor del asignado en ese indice.

Si deseas acceder a todos los elementos del arreglo, puedes usar una sentencia bucle para ir leyendo todo el arreglo.

Ejemplo:

for (var in arreglo)
hacer

Este bucle ejecuta una acción por cada valor diferente que fue usado en cada indice del arreglo con la variable var configurada en ese indice.

Quitando elementos de un arreglo Awk

Si deseas remover un elemento de un indice particular del array, se usa la sentencia awk delete. Una vez que hayas borrado un elemento de un array no se podrá recuperar luego.

Sintaxis:

delete arreglo[indice];

La siguiente sentencia borra todos los elementos de un arreglo. No hay una sola sentencia para borrar todos los elementos de un array, por tal motivo tienes que hacerlo a través de un bucle usando la sentencia awk delete.

for (var in arreglo)
delete arreglo[var]

No hay comentarios: