Emacs Lisp में, मैं कैसे जांचूं कि एक चर परिभाषित किया गया है या नहीं?




elisp (2)

Emacs Lisp में, मैं कैसे जांचूं कि एक चर परिभाषित किया गया है या नहीं?


आप बाध्यकारी चाहते हैं: चर लौटाता है यदि एक चर (प्रतीक) शून्य नहीं है; अधिक सटीक, अगर इसकी वर्तमान बाध्यकारी शून्य नहीं है। यह अन्यथा शून्य वापस आता है।

  (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

यदि आप Emacs के भीतर से एक वैरिएबल वैल्यू देखना चाहते हैं (मुझे नहीं पता कि यह लागू होता है, क्योंकि आपने "Emacs Lisp" लिखा था?):

M-: मिनी बफर में Eval शुरू होता है। परिवर्तनीय के नाम पर लिखें और वापसी दबाएं। मिनी-बफर चर के मान को दिखाता है।

यदि चर परिभाषित नहीं किया गया है, तो आपको डीबगर त्रुटि मिलती है।





elisp