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
symbol-value
실제 값을 인쇄하기 위해 함수를 사용 합니다. 기호 값 문서 . 예 : eval-expression
명령을 사용 하고 다음을 입력합니다. (symbol-value 'abracadabra)
emacs 내에서 변수 값을 확인하려면 ( "in Emacs Lisp"라고 썼기 때문에 이것이 적용되는지 모르겠습니다.) :
M-:
Eval
미니 버퍼에서 시작합니다 . 변수 이름을 입력하고 Enter 키를 누릅니다. 미니 버퍼는 변수의 값을 보여줍니다.
변수가 정의되어 있지 않으면 디버거 오류가 발생합니다.
M-: (boundp 'the-variable-name) RET
오류를 트리거 할 필요없이 확인합니다.