Utilisation de variables pour spécifier l'échelle<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Au lieu d'utiliser des constantes pour spécifier l'échelle dans un tracé, je souhaite utiliser des variables pour le faire.
Cette section de code fonctionne
Envoi(
{},
"1",
ScaleBox,
{Min (mn), Max (mx), Inc (mi), Tiques mineures (nminor),
Ajouter une ligne de référence (mr, solide, "noir"), afficher la grille principale (nmaj)}
)
Cependant, je ne peux pas spécifier S cale ("Log") en utilisant une variable.
Cette section de code ne fonctionne pas
Envoi(
{},
"1",
ScaleBox,
{Echelle (ms), Min (mn), Max (mx), Inc (mi), Tiques mineures (nmineur),
Ajouter une ligne de référence (mr, solide, "noir"), afficher la grille principale (nmaj)}
)
où ms = "Log"
suggestions appréciées
Utilisation de variables pour spécifier l'échelleMalheureusement, JMP n'accepte (malheureusement) qu'une valeur littérale et non une variable. La mauvaise solution consiste à utiliser des fonctionnalités de méta-programmation JMP telles que Substitute (). Par exemple:
ms = "Log";
cmd = Suppléant (Expr ( Envoi(
{},
"1",
ScaleBox,
{Échelle( SCALEVALUE ), Min (mn), Max (mx), Inc (mi), Tiques mineures (nminor),
Ajouter une ligne de référence (mr, solide, "noir"), afficher la grille principale (nmaj)}
) ), Expr (SCALEVALUE), ms);
Eval (cmd); // si tu avais une expression complète
Substitute () remplace le jeton SCALEVALUE par la valeur ms.
Eval Insert () est une autre option mais fonctionne sur des chaînes plutôt que sur des expressions. Vous devrez donc analyser () la chaîne avant d'appeler Eval ().