Bucles for i while

Un bucle for es pot fer servir per executar codi i/o retornar una taula de valors. El tipus de la taula retornada correspon al tipus de la darrera instrucció entre do i end.

Bucle For

Recórrer un interval de nombres:

for i from 1 to 10 do
    i;
end;

Recórrer una taula:

var myArray := [1, 3, 5, 7];
for i in myArray do
    i;
end;

Recórrer les claus i els valors d'un objecte 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;

Vegeu com manipular variables JSON a Ninox: Variables especials / JSON.

També es pot fer el mateix amb un registre, però cal fer servir NativeJS de Ninext per transformar un registre (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;

Aquest enfocament pot ser útil per exportar tots els camps d'una taula a formats com ara CSV.

Bucle While

Els bucles While són simples i no retornen cap valor. Serveixen únicament per fer tasques iteratives i no es poden fer servir per construir taules.

Exemple:

var a := 1;
while a < 10 do
    a := a + 1;
end;