IT

Emacs Lisp에서 변수가 정의됩니다.

lottoking 2020. 9. 9. 08:16
반응형

Emacs Lisp에서 변수가 정의됩니다.


Emacs Lisp에서 변수가 정의됩니다.


boundp를 원할 수 있습니다. : 변수 (기호)가 void가 아니면 t를 반환합니다. 보다 정확하게는 현재 바인딩이 무효가 아닌 경우. 개체는 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

dfa의 답변 외에도 fboundp를 사용하여 함수로 직접 확인할 수도 있습니다 .

(defun baz ()
  )
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t

emacs 내에서 변수 값을 확인 비용 ( "in Emacs Lisp"라고라고 썼습니다.) :

M-:Eval미니 버퍼에서 시작합니다 . 변수 이름을 입력하고 키를 입력합니다. 미니 버퍼는 변수의 값을 보여줍니다.

변수가 정의되어 있지 않은 경우 디버거 오류가 발생합니다.


값이 nil 인 변수는 정의되어 있습니다.

(progn (setq filename3 nil) (boundp 'filename3)) ;; returns t

(progn (setq filename3 nil) (boundp 'filename5)) ;; returns nil

참고 URL : https://stackoverflow.com/questions/757564/in-emacs-lisp-how-do-i-check-if-a-variable-is-defined

반응형