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;