Pętle for i while

Pętli for można użyć do wykonania kodu i/lub zwrócenia tablicy wartości. Typ zwracanej tablicy odpowiada typowi ostatniej instrukcji między do a end.

Pętla for

Pętla po zakresie liczb:

for i from 1 to 10 do
    i;
end;

Pętla po tablicy:

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

Pętla po kluczach i wartościach obiektu 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;

Jak operować na zmiennych JSON w Ninox, opisano tutaj: Zmienne specjalne / JSON.

To samo można również zrobić z rekordem, ale trzeba użyć natywnego JS z Ninext, aby zamienić rekord (nid) w 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;

Takie podejście bywa przydatne przy eksporcie wszystkich pól tabeli do formatów takich jak CSV.

Pętla while

Pętle While są proste i nie zwracają żadnej wartości. Służą wyłącznie do wykonywania powtarzalnych zadań i nie można za ich pomocą budować tablic.

Przykład:

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