Refiriéndose a un elemento de un Array - AWK

La forma principal de usar un array es referirse a uno de sus elementos. Una referencia a un array es una expresión que presenta la siguiente forma:

array[índice]

Aquí array es el nombre de un array. La expresión índice es el índice del elemento del array que tú quieres.

El valor de la referencia al array es el valor actual del elemento del array. Por ejemplo, foo[4,3] es una expresión para el elemento cuyo índice es 4,3 del array foo.

Si referencias un elemento de array en el que no se ha grabado ningún valor, el valor devuelto por esta referencia es “ “, la cadena nula. Esto incluye elementos a los cuales no les has asignado un valor, y los elementos que han sido borrados. Esta referencia automáticamente crea dicho elemento de array, con la cadena nula como su valor. (en algunos casos esto es un incoveniente ya que supone un desperdicio de memoria por parte de awk).

Puedes averigurar si existe un elemento en un array para un determinado índice con la expresión:

índice in array

Esta expresión chequea si existe o no el índice especificado, sin el efecto lateral de crear dicho elemento si no está presente. La expresión tendrá el valor de 1 (verdadero) si array[índice] existe, y 0 (falso) si no existe.

Por ejemplo, para chequear si el array frequencies contiene el índice “2”, podrías escribir esta sentencia:

if ("2" in frequencies) print "Subscript \"2\" is present."

Señalar que esto no es un chequeo de si el array frequencies contiene o no un elemento cuyo valor es “2”. (No hay forma de hacer esto, excepto escaneando todos los elementos). También, esta sentencia no crea frequencies[“2”], mientras que la siguiente sentencia (incorrecta) alternativa si lo haría:

if (frequencies["2"] != "") print "Subscript \"2\" is present."






















Publicar un comentario

0 Comentarios