Page 1 sur 1

Bug sur l'indexage d'un tableau lors d'une lecture d'une valeur du tableau

Posté : 07 nov. 2020, 21:43
par Marc DELDEM
Salut,

Je suis tombé sur un truc bien merdique. La lecture d'une valeur d'un tableau en faisant de l'arithmétique dans l'index génère une erreur.

Voici un script pour rejouer le problème.

Code : Tout sélectionner

idx=1
Value[idx]$="Hello"
Value[idx+1]$="World"

PRINT Value[idx]$
PRINT Value[idx+1]$
L'erreur:
Le script s'est arrêté à cause d'une erreur fatale : Ligne : @ 6 -> "PRINT Value[idx+1]$ ERREUR : Tableau mal indexé !
Pour que cela fonctionne, il ne faut pas de calcul dans les crochets du tableau lors d'une lecture d'une valeur.
Alors que pour l'affectation, cela fonctionne.

Code : Tout sélectionner

idx=1
Value[idx]$="Hello"
Value[idx+1]$="World"

PRINT Value[idx]$
idx=idx+1
PRINT Value[idx]$
Marc

Re: Bug sur l'indexage d'un tableau lors d'une lecture d'une valeur du tableau

Posté : 08 nov. 2020, 01:16
par Cyril Cavadore
Marc,
Y a des tas de choses comme ca qui sont "moches" mais contournables comme tu l'as fait.
L'arithmétique dans les tableaux n'est pas géré dans ce langage de script.
C'est pour cela qu'on essaie de voir pour un moteur de langage tres évolué comme le phyton.
Mais y a un tres gros travail pour faire cette migration.

Re: Bug sur l'indexage d'un tableau lors d'une lecture d'une valeur du tableau

Posté : 08 nov. 2020, 09:56
par Marc DELDEM
Salut Cyril,

Oui pas de problème, ce qui est déroutant dans ce cas, c'est que dans l'affectation cela fonctionne (tableau[Idx+1]=valeur) mais pas dans la lecture.
Heureusement le message d'erreur de Prism est bien clair et on peut facilement contourner le problème.

Marc