next up previous contents index
suivant: Pour sortir d'une boucle monter: D'autres instructions utiles précédent: D'autres instructions utiles   Table des matières   Index


Définir une fonction ayant un nombre variable d'arguments : args

args ou args(NULL) renvoie la liste des arguments d'une fonction sous forme d'une liste : l'élément d'indice 0 est la fonction, les suivants sont les arguments passés à la fonction. Cela permet de travailler avec des fonctions ayant un nombre d'arguments non fixé a l'avance.
Remarque on ne peut pas mettre args() mais args ou args(NULL) (NULL est obligatoire) on peut aussi utiliser (args)[0] pour désigner la fonction, (args)[1] pour désigner le nom du premier argument... mais il ne faut pas oublier les parenthèses autour de args!
On tape :
testargs():={ local y; y:=args; return y[1];}
testargs(12,5)
On obtient :
12
On tape :
somme():={
 local s,a;
 a:=args;
 s:=0;
 for (k:=1;k<size(a);k++){
 s:=s+a[k];
 }
 return s;
 }
puis :
somme(1,2,3,4)
On obtient :
10


Documentation de giac écrite par Renée De Graeve