Expresiones Condicionales - AWK

Una expresión condicional es un tipo especial de expresión con tres operandos. Te permite usar el valor de una expresión para seleccionar una expresión de entre otras dos posibles.

La expresión condicional presenta el mismo formato que en el Lenguaje C:

selector ? if-true-exp : if-false-exp

Existen tres subexpresiones. La primera, selector, es siempre tratada primero. Si es “cierta” (distinta de cero) entonces se procesa la expresión if-true-exp y su valor se convierte en el valor de la expresión completa. Si no, if-false-exp es procesada y su valor es el que se convierte en el valor de la expresión completa.

Por ejemplo, esta expresión produce el valor absoluto de x:

x > 0 ? x : –x

Cada vez que la expresión condicional se procesa, se ejecuta siempre una de las dos expresiónes if-true- exp o if-false-exp, la otra es ignorada. Esto es importante cuando las expresiones contienen efectos laterales. Por ejemplo, esta expresión condicional examina el elemento i de el array a o del array b, y a continuación lo incrementa.

x == y ? a[i++] : b[i++]

Esto garantiza que se incrementa i exactamente una vez, porque cada vez se ejecuta o uno u otro incremento y el otro no.
















Publicar un comentario

0 Comentarios