<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#330000">
    Bonjour<br>
    <br>
    global est votre ami:<br>
    <br>
    function update_a()<br>
        global a<br>
        a =a +1<br>
    endfunction<br>
    <br>
    <br>
    global a<br>
    <br>
    a= 0<br>
    update_a()<br>
    a<br>
    update_a();<br>
    update_a();<br>
    update_a();<br>
    update_a();<br>
    <br>
    a<br>
    <br>
    <br>
    <br>
    à lire:<br>
    <br>
    help global<br>
    <a class="moz-txt-link-freetext" href="http://wiki.scilab.org/howto/global%20and%20local%20variables">http://wiki.scilab.org/howto/global%20and%20local%20variables</a><br>
    <br>
    On 01/06/2012 22:56, Binoyte wrote:
    <blockquote
cite="mid:CAJO2YB5KMAAkxYLz6-MBELf3ALHPMpEPjF4-jtSSMgeORPiZBA@mail.gmail.com"
      type="cite">Bonjour,<br>
      <br>
      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 : <br>
      <br>
      <span style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">void
        ma_fonction(struct & parametre) </span><br
        style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
      <span style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)"><span
          style=""></span>{</span><br style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
      <br style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
      <span style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
            parametre.propriete = ....;</span><br
        style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
      <br style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
      <span style="font-family:courier
        new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">}</span><br
        style="color:rgb(0,0,153);background-color:rgb(255,255,255)">
      <br>
      <br>
      En Scilab je ne trouve pas trop d'autres solutions que d'écrire :
      <br>
      <br>
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">function  this = ma_fonction
        (parametre)</span><br style="font-family:courier
        new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">     this = parametre;</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">     this.propriete = .....</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">endfunction</span><br>
      <br>
      <br>
      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 :<br>
      <br>
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">function  ma_fonction
        (parametre)</span><br style="font-family:courier
        new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">       </span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">    global parametre;</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">    parametre.propriete =
        .....</span><br style="font-family:courier
        new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">endfunction</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">//************</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">global Monsieur;</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">Monsieur.Age = 31;</span><br
        style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <br style="font-family:courier new,monospace;color:rgb(51,51,153)">
      <span style="font-family:courier
        new,monospace;color:rgb(51,51,153)">ma_fonction(Monsieur);</span><br>
      <br>
      Je vous remercie par avance de vos conseils.<br>
      <br>
      Cordialement,<br>
      <br>
    </blockquote>
    <br>
  </body>
</html>