% Function FIND-SYMBOL
Function FIND-SYMBOL
find-symbol
string &optional
package => symbol, status
string - 文字列
package - パッケージ指定子。デフォルトは現在のパッケージ。
symbol - packageでアクセス可能なシンボルか、nil
status - 次のどれか。:inherited
, :external
, :internal
, nil
find-symbol
は、package内のstringという名前のシンボルの
場所を返却します。
もしstringという名前のシンボルがpackage内で
直接のものかか継承によるものかのものが見つかったときは、
そのシンボルが最初の値として返却されます。
2番目の値は下記のようなものが返却されます。
:internal
:external
:inherited
use-package
を通して継承されており、
しかしpackage内には現れてないときもしpackageにはそのようなシンボルが無かったときは、
両方ともnil
が返却されます。
(find-symbol "NEVER-BEFORE-USED") => NIL, NIL
(find-symbol "NEVER-BEFORE-USED") => NIL, NIL
(intern "NEVER-BEFORE-USED") => NEVER-BEFORE-USED, NIL
(intern "NEVER-BEFORE-USED") => NEVER-BEFORE-USED, :INTERNAL
(find-symbol "NEVER-BEFORE-USED") => NEVER-BEFORE-USED, :INTERNAL
(find-symbol "never-before-used") => NIL, NIL
(find-symbol "CAR" 'common-lisp-user) => CAR, :INHERITED
(find-symbol "CAR" 'common-lisp) => CAR, :EXTERNAL
(find-symbol "NIL" 'common-lisp-user) => NIL, :INHERITED
(find-symbol "NIL" 'common-lisp) => NIL, :EXTERNAL
(find-symbol "NIL" (prog1 (make-package "JUST-TESTING" :use '())
(intern "NIL" "JUST-TESTING")))
=> JUST-TESTING::NIL, :INTERNAL
(export 'just-testing::nil 'just-testing)
(find-symbol "NIL" 'just-testing) => JUST-TESTING:NIL, :EXTERNAL
(find-symbol "NIL" "KEYWORD")
=> NIL, NIL
OR=> :NIL, :EXTERNAL
(find-symbol (symbol-name :nil) "KEYWORD") => :NIL, :EXTERNAL
なし。
intern
,
import
,
export
,
use-package
,
unintern
,
unexport
,
unuse-package
なし。
find-symbol
は操作としてはintern
と同等ですが、
新しいシンボルを決して生成しない所が違っています。