Iteratore che dà un valore sbagliatoCiao,
Sono nuovo di JSL e stavo cercando di far funzionare il seguente pezzo di codice:
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);
La colonna "End" ha 14 righe e sto provando ad iterare la variabile i tra 1 e 14 ma quando stampo il valore di i per controllarlo il numero 15 viene restituito nel log. Non dovrebbe restituire 14 perché ci sono solo 14 righe nella mia tabella di dati?
Qualsiasi aiuto sarebbe apprezzato.
Ri: Iterator dando valore sbagliatoNon sono sicuro che tu voglia capire come usare la funzione For () per iterare, usare Print () per testare, o se hai davvero bisogno di stampare ogni valore in una colonna di dati sul Log. Se è il secondo caso, allora questo codice mostra un modo più semplice:
dx = Open( "Manually Logged Data.jmp" );
For Each Row(
Print( dx:End );
);
Ri: Iterator dando valore sbagliatoCapisco, grazie per l'aiuto!
Ri: Iterator dando valore sbagliatoPer terminare il ciclo, JMP aumenta l'iteratore di 1 e poi controlla se soddisfa le condizioni impostate per rimanere all'interno del ciclo. In questo caso, si sta stampando il valore dell'iteratore dopo che è uscito dal ciclo, quindi si vede il primo valore che ha fatto non causa l'esecuzione del loop di nuovo. In questo esempio, nota come 2 è l'ultimo valore all'interno del ciclo, ma 3 viene stampato come nel tuo esempio:
Names default to here( 1 );
For( i=1, i <= 2, i++,
print( "Inside loop: " || char( i ) );
);
print( "Outside loop: " || char( i ) );