Funciones en awk

Solo disponible en BuenasTareas
  • Páginas : 2 (359 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de enero de 2011
Leer documento completo
Vista previa del texto
SINTAXIS DE LAS FUNCIONES

Una función consta de:

Function Nombre_de_la_funcion (argumentos)
{
Cuerpo de la función
}

Los nombre de los argumentos no se distinguen sintacticamente de losnombres de la variables locales. Por lo que, si se dan 3 valores de argumento los 3 primeros nombre de la lista de parámetros son argumentos y el resto variables locales.
Las variables locales puedentener el mismo nombre que cualquier otra variable fuera de la función puesto que una vez empiece la función esta esconderá el valor de cualquier variable externa y una vez termine la función lasvariables dejaran de tener los valores locales.

Ejemplo de definición de una función

Function miprint (num)
{
Printf “%6.3g\n”, num
}
Para llamar a la función:

$3 > 0 { miprint ($3) }Esto imprimirá todos los terceros campos que contengan un número positivo en nuestra entrada.

Una función puede contener dentro de ella misma la llamada a otra función recursivamente.

LLAMADAS AFUNCIONES

La llamada a una función hace que se ejecute y realice su trabajo, es una expresión y devuelve un valor.
Una llamada a una función consiste en el nombre de la función seguido por losargumentos entre ( ), los cuales son los argumentos que le pasamos de entrada.
Entre el nombre de la función y los paréntesis de los argumentos no están permitidos los espacios en blanco o tabuladorespuesto que awk lo podría tomar como si quisieras concatenar una variable con los argumentos entre paréntesis.
Cuando se llama a una función se le pasan los valores de sus argumentos, a esto se le llamallamada por valor. Por ejemplo si escribes

Foo- “bar”
Z – mifuncion(foo)

Entonces le pasas la cadena “bar”.

En cambio cuando los parámetros son arrays, el mismo array esta disponible parala manipulación directa por parte de la función, es decir, si le cambias los valores a un array en una función, dentro de dicha función también se cambiara, a esto se le llama llamada por referencia....
tracking img