Cicli for e while
Un ciclo for può servire a eseguire del codice e/o a restituire un array di valori. Il tipo dell'array restituito corrisponde al tipo dell'ultima istruzione tra do e end.
Ciclo For
Ciclo su un intervallo di numeri:
for i from 1 to 10 do
i;
end;
Ciclo su un array:
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
Ciclo sulle chiavi e sui valori di un oggetto 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;
Su come manipolare le variabili JSON in Ninox, vedere: Variabili speciali / JSON.
È possibile fare lo stesso anche con un record, ma occorre usare NativeJS di Ninext per trasformare un record (nid) in 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;
Questo approccio può essere utile per esportare tutti i campi di una tabella in formati come il CSV.
Ciclo While
I cicli While sono semplici e non restituiscono alcun valore. Servono unicamente a eseguire compiti ripetitivi e non possono essere usati per costruire array.
Esempio:
var a := 1;
while a < 10 do
a := a + 1;
end;
