[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 lupar 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 de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Parametres, -u et usersetting

Message non lupar 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://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

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

Re: Parametres, -u et usersetting

Message non lupar 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 de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Parametres, -u et usersetting

Message non lupar 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://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !


Retourner vers « Les demandes d'aide »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité