En Emacs Lisp, comment vérifier si une variable est définie ?
Parfois, il peut également être utile d'utiliser INTERN-SOFT pour vérifier si un symbole existe.
En Emacs Lisp, comment vérifier si une variable est définie ?
Vous pouvez vouloir boundp : retourne t si la variable (un symbole) n'est pas void ; plus précisément, si sa liaison actuelle n'est pas void. Sinon, elle renvoie nil.
(boundp 'abracadabra) ; Starts out void.
=> nil
(let ((abracadabra 5)) ; Locally bind it.
(boundp 'abracadabra))
=> t
(boundp 'abracadabra) ; Still globally void.
=> nil
(setq abracadabra 5) ; Make it globally nonvoid.
=> 5
(boundp 'abracadabra)
=> t
Parfois, il peut également être utile d'utiliser INTERN-SOFT pour vérifier si un symbole existe.
J'utilise aussi parfois symbol-value
pour imprimer la valeur réelle. Symbole-valeur-doc . Egs : Utilisation de la eval-expression
et ensuite taper ceci : (symbol-value 'abracadabra)
En plus de Réponse de dfa vous pouvez aussi voir si elle est liée à une fonction en utilisant fboundp :
(defun baz ()
)
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t
Si vous voulez vérifier la valeur d'une variable à partir d'Emacs (je ne sais pas si cela s'applique, puisque vous avez écrit "dans Emacs Lisp" ?)
M-:
commence Eval
dans le mini-tampon. Écrivez le nom de la variable et appuyez sur la touche retour. Le mini-buffer affiche la valeur de la variable.
Si la variable n'est pas définie, vous obtenez une erreur de débogage.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.