En Emacs Lisp, ¿cómo verifico si una variable está definida?
92
puede querer boundp: devuelve t si la variable (un símbolo) no es nula; más precisamente, si su vinculación actual no es nula. Devuelve nil de lo contrario.
(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
Además de la respuesta de dfa, es posible que también desee ver si está vinculado como una función usando fboundp :
fuente
Si desea verificar el valor de una variable desde emacs (no sé si esto se aplica, ya que escribió "en Emacs Lisp"?):
M-:
comienzaEval
en el mini búfer. Escriba el nombre de la variable y presione retorno. El mini búfer muestra el valor de la variable.Si la variable no está definida, obtiene un error de depuración.
fuente
M-: (boundp 'the-variable-name) RET
comprobará sin necesidad de generar un error.Recuerde que las variables que tienen el valor nil se consideran definidas.
fuente