我現在對 FOR 循環的問題感到困惑。(使用JMP16)
// open a window
mywindow = New Window(" xyz ", .....etc.);
// create journal
myjrn = mywindow << journal window;
For( i = 1, i <= 100, i++,
// do a lot of lines of lines requiring about 5' run time.
// periodically journal objects.
Close All( data tables, no save )
); // end to for loop
// SAVE the journal:
myjrn << save journal( "my.jrn" );
循環在迭代後停止。
(我可以在 for (i=1, i<=100, i++) 停止後重新啟動循環,並且不會繼續到 i=2。
for (i=2,i<=100, i++,停止並且不繼續到 i=3。
for (i=3,i<=100, i++,停止並且不處理到i=4。
歡迎思考造成這種情況的原因是什麼?解決?
謝謝,
約翰
您是否有使用“i”作為變量的代碼的其他部分?變量是否可以重新分配(例如,如果您使用用戶定義的函數)?
是否有可能在 Fro() 循環中的某個位置將變量“i”設置為一個大值?
如果不查看所有代碼,就很難診斷。
首先檢查日誌窗口是否有任何錯誤。
如果沒有,那麼我將首先查看 For() 循環之後 i 的值。 我懷疑你會發現它大於 100。 然後你需要看看哪裡被無意中改變了。 當數據表中的列發生名稱衝突時,有時會發生這種情況。 如果您無法弄清楚哪裡可能發生這種情況,請嘗試將 i 更改為其他內容,看看它是否開始工作。 這將確認名稱衝突。
每次迭代中的每個代碼是否都依賴於您在 For() 函數中關閉的數據表?