[Users-fr] Un problème de liste
AUZANNEAU Fabrice
Fabrice.AUZANNEAU at cea.fr
Mar 26 Mai 16:15:42 CEST 2020
Merci de toutes ces réponses !
De : users-fr <users-fr-bounces at lists.scilab.org> De la part de Samuel Gougeon
Envoyé : mardi 26 mai 2020 15:51
À : users-fr at lists.scilab.org
Objet : Re: [Users-fr] Un problème de liste
Bonjour,
Le 26/05/2020 à 12:23, AUZANNEAU Fabrice a écrit :
Bonjour
J'utilise des listes dans un code Scilab et je rencontre un problème pour les modifier dans une fonction. Un exemple simple :
a = list()
function test()
a(2) = [3,4]
endfunction
a(1) = [1,2,4]
test()
disp(a)
L'exécution donne ce message d'erreur :
à la ligne 2 de la fonction test ( C:\Users\***\Desktop\list.sce ligne 10 )
à la ligne 13 du fichier exécuté C:\Users\***\Desktop\list.sce
Sous-matrice incorrectement définie.
Pour éviter l'erreur, il faut ajouter
a = a
dans la fonction, juste avant a(2) = ... : le 1er adressage de a externe en lecture en crée une copie locale. C'est celle-ci qui sera modifiée par a(2) = ..., et perdue en sortie de fonction.
Pour la retourner dans l'environnement sans la faire figurer en argument de sortie explicite de la fonction, utiliser
a = return(a)
d'où :
function test()
a = a
a(2) = [3,4]
a = return(a)
endfunction
Samuel
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20200526/badd8d1a/attachment.htm>
Plus d'informations sur la liste de diffusion users-fr