
Otra forma de iterar es con la función While. Esta función solo toma dos argumentos: la prueba y el cuerpo. Por lo tanto, si desea usar una variable de contador, índice o bandera en cualquiera de los argumentos, debe inicializarlos antes de llamar a la función While. JMP evalúa el primer argumento y lo interpreta como un resultado booleano para determinar si la iteración debe continuar. Si el resultado es verdadero, la función While continúa con la iteración. Si es falso, la función While finaliza la iteración y el script continúa con el código que sigue a la función While. JMP evalúa el segundo argumento a continuación. Este código generalmente se considera el cuerpo de la iteración y JMP evalúa este código cada vez. Debido a que no hay un argumento de actualización separado, parte de este código debe actualizar la variable de contador, índice o bandera para la siguiente iteración. Veamos un ejemplo. En este código, c es un contador o índice y está establecido inicialmente en Not Done es la variable bandera, que inicialmente está establecida en verdadero. En la función While, JMP primero evalúa not Done y lo interpreta como un resultado booleano. Si not Done es verdadero, la función continúa. A continuación, el cuerpo incluye el trabajo principal de la iteración (iniciar la plataforma de distribución) y actualiza la variable not Done mediante una comparación booleana. En el código que se muestra aquí, JMP compara el número de columnas de la tabla de datos con el valor actual del contador y actualiza el contador. La comparación devuelve un valor si hay más columnas en la tabla de datos y un valor cero cuando se han evaluado todas las columnas. Este resultado se almacena en not Done, que se evalúa al principio de la siguiente iteración. Tenga en cuenta que el operador Post Increment devuelve su valor actual antes del incremento; por lo tanto, la última parte del código podría escribirse como N Col mayor que c, punto y coma, c +/- más, y obtendría el mismo resultado.