Liste de paramètres facultatifs

N'oubliez pas de consulter les sujets avant de poser votre question, merci.

Liste de paramètres facultatifs

Messagepar Archibald » 01 Juil 2020 09:23

Bonjour,

certaines commandes TeXGraph utilisent des listes de paramètres nommés, du genre

Code: Tout sélectionner
Commande(param1, param2, [param3 := 3, param4 := 4])


où param3 et param4 sont facultatifs.

Puis-je implémenter ce comportement dans mes propres macros, et si oui, comment ?
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18

Re: Liste de paramètres facultatifs

Messagepar P.Fradin » 01 Juil 2020 09:55

Bonjour,

Oui c'est possible et tu as deux méthodes :

1) Les paramètres nommés sont des variables globales dans ton fichier, par exemple :
Code: Tout sélectionner
TeXgraph#
Var
    param1 = 0;
    param2 = 1; //déclaration globales des paramètres
Mac
    essai = [//déclaration de la macro essai(x, y, [param1:= , param2:= ])
        $x:=%1, $y:=%2, //arguments 1 et 2
        param1:=0, param2:=1, //valeurs par défaut,
        %3, //on évalue l'argument 3,
        // suite du code
      ]; //fin de la macro


2) Les paramètres nommés sont des variables locales à la macro :
Code: Tout sélectionner
TeXgraph#
Mac
    essai = [//déclaration de la macro essai(x, y, [param1:= , param2:= ])
        $x:=%1, $y:=%2, //arguments 1 et 2
        $param1:=0, $param2:=1, //valeurs par défaut
        Eval(String(%3)), // évaluation du troisième argument
        //suite du code
   ];  //fin de la macro


S'il faut plus de détails n'hésite pas !
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Liste de paramètres facultatifs

Messagepar Archibald » 01 Juil 2020 16:52

Merci beaucoup (j'y étais presque !)

Oui, j'ai une deuxième question, mais qui a peu à voir (enfin si, j'essaie toujours d'écrire mes macros) : comme puis-je tracer un segment de 1 cm, indépendamment de l'unité du repère (c'est pour faire un marquage) ?
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18

Re: Liste de paramètres facultatifs

Messagepar P.Fradin » 01 Juil 2020 17:26

Voilà une macro segL(A, B, longueur en cm) qui trace partant de A, un segment de longueur voulue en cm, direction de B :
Code: Tout sélectionner
[//segL(A,B,longueur)
$A:=%1, $B:=%2, $long:=%3,
$u:=RealCoordV(B-A), //affixe "réelle" de B-A
Line([A, A+ScrCoordV(%3*u/abs(u))])
]
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Liste de paramètres facultatifs

Messagepar Archibald » 01 Juil 2020 17:49

Merveilleux ! Merci encore :D
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18


Revenir vers Questions - Réponses

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 22 invités

cron