Operadores Incrementales - AWK


Los Operadores incrementales incrementan o decrementa el valor de una variable en 1. Podrías hacer lo mismo con un operador de asignación, de forma que los operadores incrementales no añaden potencia al lenguaje awk; pero añaden una abreviación conveniente para algo muy común.

El operador para añadir 1 se escribe ‘++’. Puede ser us ado para incrementar una variable antes o después de coger su valor.

Para pre-incrementar una variable v, escribe ++v. Esto añade 1 al valor de v y ese nuevo valor es también el valor de esta expresión. La expresión de asignación v += 1 es completamente equivalente.

La escritura de ‘++’ después de la variable especifica un post-incremento. Esto incrementa la variable de igual manera; la diferencia es que el valor de la expresión de incremento por si misma es el viejo valor de la variable (antes de ser incrementada). Por lo que, si foo tiene un valor de 4, entonces la expresión foo++ tiene el valor de 4, pero cambia el valor de la variable foo a 5.

El post-incremento foo++ es aproximadamente equivalente a escribir (foo += 1) – 1. No es perfectamente equivalente porque todos los números en awk son punto flotante: en punto flotante, foo +1 – 1 no es necesariamente igual a foo. Pero la diferencia es mínima mientras lo uses con números que sean pequeños (menores a un trillón).

Cualquier valori puede ser increm entado. Los campos y los elementos de array pueden ser incrementados del mismo modo que las variables.

El operador decremento ‘--‘ funciona del mismo modo que el ‘++’ excepto que lo que hace es restar 1 en lugar de añadirlo. Al igual que el operador ‘++’, puede ser usado antes del valori para un pre-decremento o después para un post-decremento.

Aquí tienes un sumario de las expresiones de incremento y decremento.

++valori
Esta expresión incrementa valori y el nuevo valor se convierte en el valor de la expresión.
valori++
Esta expresión hace que se incremente el valor de valori.. El valor de la expresión es el valor
antiguo de valori.
--valori
Como ++valori, pero en lugar de adición, substrae. Decrementa el valor de valori y devuelve dicho valor como resultado de la expresión.
valori--
Como valori++, pero en lugar de añadir, substrae. Decrementa valori. El valor de la expresión es el valor antiguo de valori.














Publicar un comentario

0 Comentarios