martes, 20 de junio de 2017

for: Forma del lenguaje C

Versiones recientes de bash han añadido una segunda forma de la sintaxis del comando for, una que se parece a la forma que encontramos en el lenguaje de programación C. Muchos otros lenguajes también soportan esta forma:

for (( expresión1; expresión2; expresión3 )); do
    comandos
done

donde expresión1, expresión2 y expresión3 son expresiones aritméticas y comandos son los comandos a ejecutar durante cada iteración del bucle.

En términos de comportamiento, esta forma es equivalente a la siguiente estructura:

(( expresión1 ))
while (( expresión2 )); do
    comandos
    (( expresión3 ))
done

expresión1 se usa para inicializar condiciones para el bucle, expresión2 se usa para determinar cuándo termina el bucle y expresión3 se ejecuta al final de cada iteración del bucle.

Aquí tenemos una aplicación típica:

#!/bin/bash

# simple_counter : demo of C style for command

for (( i=0; i<5; i=i+1 )); do
    echo $i
done

Cuando lo ejecutamos, produce la siguiente salida:

[me@linuxbox ~]$ simple_counter
0
1
2
3
4

En este ejemplo, expresión1 inicializa la variable i con el valor cero, expresión2 permite al bucle continuar mientras que el valor de i permanezca menor que 5, y expresión3 incrementa el valor de i en uno cada vez que se repite el bucle.

La forma del lenguaje C de for es útil siempre que necesitemos una secuencia numérica. Veremos varias aplicaciones de esto en los siguientes dos capítulos.

No hay comentarios:

Publicar un comentario