for 與 while 迴圈
for 迴圈可用來執行程式碼,也可以回傳一個值的陣列。回傳陣列的型別,取決於 do 與 end 之間最後一道陳述式的型別。
for 迴圈
走訪一段數字範圍:
for i from 1 to 10 do
i;
end;
走訪一個陣列:
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
走訪 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;
關於如何在 Ninox 中操作 JSON 變數,請見:特殊變數/JSON。
對記錄也可以做同樣的事,但您得用 Ninext 的原生 JS 把記錄(nid)轉換成 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;
這個做法在把表格的所有欄位匯出成 CSV 之類的格式時很好用。
while 迴圈
While 迴圈很單純,不會回傳任何值。它們純粹用來執行反覆的工作,無法用來組出陣列。
範例:
var a := 1;
while a < 10 do
a := a + 1;
end;
