Aller au contenu

Messages recommandés

Posté(e)

bonjour,

j'ai un chtit probleme j'ai des fonctions qui me renvoi des chose par exemple: des chaines de carracteres ou encore des test vrai/faux

 

j'ai commencer a retourner les valeurs avec la fonction (princ)

exemple :

(defun mafonction ()

(princ 1)

)

_$ (setq mavariable mafonction)

 

donc :

mavariable = 1

 

ca fait ce que je veux mais ca affiche aussi dans la console le 1 alors ce n'est pas genant pour quelque petits test mais si on a des boucle qui tourne 5000 fois ca prend du temp quand ca affiche dans le debug

 

donc ma question est la suivante y a t'il une fonction en lisp qui ne ferait que me renvoyer le resultat sans l'afficher comme le ferait par exemple un return en C/C++

merci

Posté(e)

Salut,

 

Tu n'as pas besoin d'utiliser princ pour retourner une valeur.

une fonction définie avec defun retourne toujours le résultat de la dernière évaluation.

 

(defun mafonction ()
 1
)

retourne 1 sans rien écrire sur la ligne de commande

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut

 

Pour compléter la réponse de (gile), si tu ne veuc pas de retour, tu ajoutes un silence en fin de lisp --> princ

 

Exemple

 

(defun une_fonction()

 (defun ma_fonction()
   1
 )

 (setq ma_variable (ma_fonction))
 (princ) ; silence
)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité