A propos de la fonction eval

Exemples inclassables dans les sous-forums précédents...
... et des trucs et astuces à connaitre.
Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
  • finalisés
  • que l'on pense intéressants et optimisés
  • et qui se rapportent au thème du forum.
Si certains exemples déposés donnent lieu à de nombreuses modifications, ils seront déplacés et remplacés par un nouveau sujet dans ce forum avec la ou les meilleures propositions.
Pour les demandes d'aide ... il y a un forum spécifique !
Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

A propos de la fonction eval

Message non lu par GM » ven. 19 mars 2010, 19:59

Un exemple intéressant vient de passer à propos de la fonction eval (que je n'avais encore personnellement jamais utilisée) sur le forum officiel (en anglais) d'Asymptote.

Je l'ai à peine modifié pour obtenir ce qui suit.

Cliquer sur l'image pour voir ce que donne la console de Notepad++ afin de comprendre ce que permet cette fonction.

asy_eval.png
asy_eval.png (14.54 Kio) Vu 14168 fois
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 !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: A propos de la fonction eval

Message non lu par Zaf » ven. 19 mars 2010, 21:06

Bonjour,
Quel est l'intérêt de ce petit programme ?

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: A propos de la fonction eval

Message non lu par Zaf » ven. 19 mars 2010, 21:14

C'est peut être un moyen de déboguer, non ?

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

Re: A propos de la fonction eval

Message non lu par GM » ven. 19 mars 2010, 21:17

Zaf a écrit :Bonjour,
Quel est l'intérêt de ce petit programme ?


Définir une fonction, c'est simple...
... mais on peut imaginer des projets plus complexes où on récupère tout ou partie d'une expression de fonction dans un "string".
eval sera alors utile.

C'est le genre de chose qui manque dans les calculatrices basiques : pouvoir dans un programme, par exemple, demander de saisir trois réels a, b et c et définir avec ceux-ci une fonction polynôme du second degré que l'on peut ré-exploiter dans le programme.
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 !

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

Re: A propos de la fonction eval

Message non lu par GM » ven. 19 mars 2010, 21:26

Zaf a écrit :C'est peut être un moyen de déboguer, non ?

Euh... Pas vraiment.

Il ne faut pas chercher à comprendre ce que fait le programme précédent car l'auteur a probablement inventé n'importe quoi : le seul but du programme est d'illustrer ce que permet eval.
Et moi-même, je citais l'exemple pour cette raison.
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 !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: A propos de la fonction eval

Message non lu par Zaf » ven. 19 mars 2010, 21:58

Merci,
C'est que dès qu'un programme, même bien argumenté et bien clair, dépasse quelque dizaines de lignes, chercher les erreurs devient un casse-tête, et c'est peut être ce qui manque un peu à asymptote, des outils pour déboguer.
J'ai regardé un peu partout mais il n'y a rien. Il me semble que ceux qui maîtrisent Asymptote n'ont pas besoin de déboguer :roll:

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

Re: A propos de la fonction eval

Message non lu par GM » ven. 19 mars 2010, 22:04

Zaf a écrit :J'ai regardé un peu partout mais il n'y a rien. Il me semble que ceux qui maîtrisent Asymptote n'ont pas besoin de déboguer :roll:

Qu'aimerais-tu avoir pour déboguer ?
Je ne sais pas ce que tu utilises comme éditeur... mais tu as bien le message d'erreur de compilation, non ? Moi personnellement, il me suffit la plupart du temps.
Maintenant si tu penses à déboguer un programme qui compile mais qui ne fait pas ce que tu veux... moi personnellement, je glisse des write dans le code pour afficher en console (du plugin NppExec de Notepad++) l'état des variables que je veux surveiller.
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 !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: A propos de la fonction eval

Message non lu par Zaf » ven. 19 mars 2010, 22:27

En fait j'aimerais, à long terme, pouvoir disposer d'un ensemble d'outils de travail : fonctions, stat, proba, graphes..., en utilisant ce qui est déjà fait.
J'ai fait beaucoup de tests autour de tes exemples et des exemples de Ph. Ivaldi, c'est vrai que tout est tellement bien fait qu'il n'y a presque jamais d'erreurs de compilation, mais lorsque je m'écarte un peu les problèmes commencent et donc déboguer devient nécessaire.
J'ai réussi à faire marcher Notepad++, comme tu m'avais indiqué, je me régale ! la coloration c'est un plaisir et un confort visuel énorme.
Donc je compile avec Notepad++.

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

Re: A propos de la fonction eval

Message non lu par GM » ven. 19 mars 2010, 22:41

Zaf a écrit :mais lorsque je m'écarte un peu les problèmes commencent et donc déboguer devient nécessaire.
J'ai réussi à faire marcher Notepad++, comme tu m'avais indiqué, je me régale ! la coloration c'est un plaisir et un confort visuel énorme.
Donc je compile avec Notepad++.

J'adore aussi Notepad++.
Tu as bien installé le plugin NppExec qui te permet avec F6 de choisir entre plusieurs profils de configuration que tu as définis ? Tu as donc la console qui s'affiche (telle que tu la vois sur l'image précédente), non ? Les messages d'erreur ne sont pas suffisamment clairs ?

A propos des plugins de Notepad++, à noter celui qui s'appelle Compare qui est génial pour comparer des différences entre deux versions d'un fichier.
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 !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: A propos de la fonction eval

Message non lu par Zaf » ven. 19 mars 2010, 22:50

J'ai installé comme tu m'avais indiqué le plugin NppExec, j'appuie sur F6 pour compiler, la console s'affiche correctement, pour les messages d'erreur ce n'est pas encore ça !
Il m'indique la ligne, mais bon avec des "write" je pense que ça ira mieux.

Répondre