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;
