[Résolu] Parametres, -u et usersetting

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
dmicollet
Messages : 2
Enregistré le : ven. 2 sept. 2016, 10:06

[Résolu] Parametres, -u et usersetting

Message non lu par dmicollet » lun. 5 sept. 2016, 08:03

Bonjour,

Je débute dans l'utilisation d'asymptote.

Je cherche à paramétrer l'execution d'un fichier asymptote à la manière des $1, $2 du bash d'unix.

En fouillant dans les exemples, j'ai pensé à utiliser l'option -u et la procédure usersetting.
Lorsque je souhaite passer un paramètre numérique, je n'ai aucun problème.

Par contre, je ne parviens pas à passer un paramètre alphanumérique

ECM

Code : Tout sélectionner

string Option="Valeur par défaut";
usersetting();
write (Option);
Éxécution

Code : Tout sélectionner

$ asy ecm.asy
Valeur par défaut
$ asy -u Option="Parametre" ecm.asy
<eval>: 1.8: no matching variable 'Parametre'
La seconde exécution échoue.

La seule solution de contournement que j'ai trouvée consiste à écrire :

Code : Tout sélectionner

string Option_Predefinie="Parametre";
string Option="Valeur par défaut";
usersetting();
write (Option);
dont l'exécution est correcte :

Code : Tout sélectionner

$ asy -u Option=Option_Predefinie ecm.asy
Parametre
qui limite toutefois les valeurs d'Option à un ensemble prédéfini.

Est une limitation d'asymptote ou y-a-t-il une astuce ?

Note : je saurais aussi contourner ce problème en lisant la variable avec readline, mais je préfèrerais la méthode paramètres qui facilite l'écriture des scripts bash.

Cordialement

Dominique

Debian/Jessie/8.5
Asymptote 2.31 édité avec Geany 1.24.1
Latex pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian)
Modifié en dernier par dmicollet le mar. 6 sept. 2016, 11:42, modifié 1 fois.

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Parametres, -u et usersetting

Message non lu par GM » lun. 5 sept. 2016, 18:53

Bonsoir et bienvenue.
dmicollet a écrit :Je débute dans l'utilisation d'asymptote.
On pouvait alors s'attendre à une question plus classique et de réponse plus évidente. :)

J'ai trouvé cet ancien message de Bowman de 2009...
By: jcbowman

Method 1: Put in myscript.asy:

Code : Tout sélectionner

string filename;
usersetting();
write(filename);
Then type

Code : Tout sélectionner

asy -u filename=\"file1.dat\" myscript
... et j'ai donc pensé à :

Code : Tout sélectionner

string filename;
usersetting();
write(machaine);

Code : Tout sélectionner

asy -u machaine=\"une chaine quelconque\" myscript
[/quote]

Mais ce n'est pas concluant.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

dmicollet
Messages : 2
Enregistré le : ven. 2 sept. 2016, 10:06

Re: Parametres, -u et usersetting

Message non lu par dmicollet » mar. 6 sept. 2016, 08:59

Bonjour,

GM a écrit :Bonsoir et bienvenue.
dmicollet a écrit :Je débute dans l'utilisation d'asymptote.
On pouvait alors s'attendre à une question plus classique et de réponse plus évidente. :)
Je débute en asymptote, mais j'ai quelques décennies de bonnes pratiques de la programmation ;)
GM a écrit :
... et j'ai donc pensé à :

Code : Tout sélectionner

string filename;
usersetting();
write(machaine);

Code : Tout sélectionner

asy -u machaine=\"une chaine quelconque\" myscript

Mais ce n'est pas concluant.
Bonne piste, puisque avec mon premier ecm

Code : Tout sélectionner

$ asy -u Option='"Parametre Spécifique"' ecm.asy 
Parametre Spécifique
la réponse est correcte. On peut aussi écrire

Code : Tout sélectionner

$ asy -u Option=\"Parametre Spécifique\" ecm.asy 
Parametre Spécifique
C'était donc bien une question de débutant.

Note 1 : Votre proposition ne marche probablement pas parce que la variable machaine n'est pas déclarée (c'est filename qui l'est)(pas essayé).

Note 2 : comment indique t'on qu'une question est résolue, autrement qu'en éditant manuellement le sujet du premier article ?

Cordialement

Dominique

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Parametres, -u et usersetting

Message non lu par GM » mer. 7 sept. 2016, 19:36

dmicollet a écrit :la réponse est correcte.
J'avais testé sous Windows en ne pensant pas qu'il pouvait y avoir une différence vis-à-vis de linux.
Mais, bizarre : cela ne fonctionne pas sous Windows 7 !
Cela lance "Welcome to Asymptote..."

Un peu débordé avec la rentrée scolaire, je reverrai le problème et trouverai l'explication plus tard.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Répondre