Bucles for y while
Un bucle for sirve para ejecutar código y/o devolver un array de valores. El tipo del array devuelto corresponde al tipo de la última instrucción que hay entre do y end.
Bucle for
Recorrer un intervalo de números:
for i from 1 to 10 do
i;
end;
Recorrer un array:
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
Recorrer las claves y los valores de un objeto JSON:
var config := {
sep: ",",
qut: """",
lf: "%0D%0A",
numberFormat: "point",
dateFormat: "locale",
header: true,
sepHeader: false,
encoding: "utf8"
};
for key, value in config do
key + " = " + value;
end;
Vea cómo manipular las variables JSON en Ninox: Variables especiales / JSON.
También se puede hacer lo mismo con un registro, pero hay que usar NativeJS de Ninext para transformar un registro (nid) en JSON:
var rec := (first(select Customer));
"Transforming a record into a JSON object"
var config := #{:any return rec}#;
for fieldName, value in config do
fieldName + " = " + value;
end;
Este enfoque puede resultar útil para exportar todos los campos de una tabla a formatos como CSV.
Bucle while
Los bucles While son sencillos y no devuelven ningún valor. Sirven únicamente para realizar tareas repetitivas y no se pueden usar para construir arrays.
Ejemplo:
var a := 1;
while a < 10 do
a := a + 1;
end;
