Passer des arguments par référence à une fonction écrite en scilab.

Binoyte binoyte at gmail.com
Ven 1 Juin 22:56:07 CEST 2012


Bonjour,

je voudrais savoir si il est possible de passer les arguments par référence
a une fonction écrite en Scilab. En gros je cherche une analogie à
l'écriture C++ suivante :

void ma_fonction(struct & parametre)
{

    parametre.propriete = ....;

}


En Scilab je ne trouve pas trop d'autres solutions que d'écrire :

function  this = ma_fonction (parametre)

    this = parametre;
    this.propriete = .....

endfunction


Le problème c'est qu'avec la version Scilab on fait d'abord une copie de la
variable, ça prend du temps et beaucoup de ressources. D'autant qu'ensuite,
dans mon programme, les fonctions sont appelées de nombreuses fois vue que
je lance par la suite des fonctions d’optimisation. J'utilise des
structures qui décrivent les composants mécaniques d'un système.
L’optimisation peut faire varier le nombre de composants. Dans ce cas je ne
pense pas pouvoir utiliser les variables globales, en tout cas, pas selon
l'exemple ci- après :

function  ma_fonction (parametre)

    global parametre;

    parametre.propriete = .....

endfunction

//************

global Monsieur;
Monsieur.Age = 31;

ma_fonction(Monsieur);

Je vous remercie par avance de vos conseils.

Cordialement,
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20120601/c18d44fa/attachment.htm>


Plus d'informations sur la liste de diffusion users-fr