迭代器給出了錯誤的價值嗨,
我是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 ) );