Itérateur donnant une mauvaise valeurSalut,
Je suis nouveau sur JSL et j'essayais de faire fonctionner le code suivant:
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 colonne "End" contient 14 lignes et j'essaie de modifier la variable i entre 1 et 14, mais lorsque j'imprime la valeur de i pour la vérifier, le nombre 15 est renvoyé dans le journal. Ne devrait-il pas renvoyer 14 parce qu'il n'y a que 14 lignes dans ma table de données?
Toute aide serait appréciée.
Re: Itérateur donnant une mauvaise valeurJe ne sais pas si vous voulez comprendre comment utiliser la fonction For () pour effectuer une itération, utiliser Print () pour tester ou si vous devez réellement imprimer chaque valeur d'une colonne de données dans le journal. Si c'est le dernier cas, alors ce code montre un moyen plus simple:
dx = Open( "Manually Logged Data.jmp" );
For Each Row(
Print( dx:End );
);
Re: Itérateur donnant une mauvaise valeurJe comprends, merci pour l'aide!
Re: Itérateur donnant une mauvaise valeurPour terminer la boucle, JMP augmente l'itérateur de 1 et puis vérifie si elle remplit la condition que vous avez définie pour rester dans la boucle. Dans ce cas, vous imprimez la valeur de l'itérateur après sa sortie de la boucle, vous voyez donc la première valeur ne pas provoquer l'exécution de la boucle à nouveau. Dans cet exemple, notez que 2 est la dernière valeur de la boucle, mais 3 est imprimé comme dans votre exemple:
Names default to here( 1 );
For( i=1, i <= 2, i++,
print( "Inside loop: " || char( i ) );
);
print( "Outside loop: " || char( i ) );