我现在对 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() 函数中关闭的数据表?