% Function FBOUNDP
Function FBOUNDP
fboundp
name => generalized-boolean
[,ef’bandpee]
name - 関数名
generalized-boolean - generalized-boolean
nameがfbound
ならtrueを、
それ以外ならfalseを返却します。
(fboundp 'car) => true
(fboundp 'nth-value) => false
(fboundp 'with-open-file) => true
(fboundp 'unwind-protect) => true
(defun my-function (x) x) => MY-FUNCTION
(fboundp 'my-function) => true
(let ((saved-definition (symbol-function 'my-function)))
(unwind-protect (progn (fmakunbound 'my-function)
(fboundp 'my-function))
(setf (symbol-function 'my-function) saved-definition)))
=> false
(fboundp 'my-function) => true
(defmacro my-macro (x) `',x) => MY-MACRO
(fboundp 'my-macro) => true
(fmakunbound 'my-function) => MY-FUNCTION
(fboundp 'my-function) => false
(flet ((my-function (x) x))
(fboundp 'my-function)) => false
なし。
なし。
nameが関数名でないとき、
型type-error
のエラーが発生します。
symbol-function
,
fmakunbound
,
fdefinition
どんなシンボルでもfbouund
であれば、
symbol-function
を呼び出すことができます。
fboundp
は、よく関数セルにアクセスするときの保護として使われます。
例えば下記の通り。
(if (fboundp x) (symbol-function x))
setf-expanderの定義F
は、
(setf F)
であらわされるsetf関数の定義にはなりません。