Function FIND-SYMBOL

UP


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番目の値は下記のようなものが返却されます。

もし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

例外

なし。

参考

intern, find-all-symbols

備考

find-symbolは操作としてはinternと同等ですが、 新しいシンボルを決して生成しない所が違っています。


TOP, Github