迭代器给出了错误的价值嗨,
我是JSL的新手,并试图让以下代码工作:
dx = Open("Manually Logged Data.jmp");
Current Data Table (dx);
numberOfRowsManually = nrows(dx);
Column("End");
colManually = Column(4);
For (i = 1, i <= numberOfRowsManually, i++, print(colManually[i]));
print (i);
“结束”列有14行,我试图在1和14之间迭代变量i但是当我打印i的值来检查它时,在日志中返回数字15。它不应该返回14因为我的数据表中只有14行吗?
任何帮助,将不胜感激。
回复:迭代器给出错误的价值我不确定您是否想要了解如何使用For()函数进行迭代,使用Print()进行测试,或者您是否真的需要将数据列中的每个值打印到Log。如果是后一种情况,则此代码显示更简单的方法:
dx = Open( "Manually Logged Data.jmp" );
For Each Row(
Print( dx:End );
);
回复:迭代器给出错误的价值我理解,谢谢你的帮助!
回复:迭代器给出错误的价值要终止循环,JMP会将迭代器增加1和然后检查它是否满足您设置为保持在循环内的条件。 在这种情况下,您将在退出循环后打印迭代器的值,因此您会看到第一个值不导致循环再次执行。 在此示例中,请注意2是循环内的最后一个值,但是如示例中那样打印3:
Names default to here( 1 );
For( i=1, i <= 2, i++,
print( "Inside loop: " || char( i ) );
);
print( "Outside loop: " || char( i ) );