Function INTERN

UP


Function INTERN

Function INTERN

構文

intern string &optional package => symbol, status

引数と戻り値

string - 文字列
package - パッケージ指定子。デフォルトは現在のパッケージ。
symbol - シンボル
status - 次のうちのどれか、 :inherited, :external, :internal, nil

定義

internは、packagestringという名前のシンボルを挿入します。 もしpackagestringという同じ名前のシンボルが すでにアクセス可能であったときは、それが返却されます。 packageにそのようなシンボルがアクセス可能になっていないときは、 新しいシンボルを指定した名前で作成し、 packageへ内部シンボルとして挿入するか、 もしpackageKEYWORDパッケージであったときは 外部シンボルとして挿入します。 作成されたシンボルのホームパッケージはpackageになります。

internの最初の返却値symbolは 検索されたものか作成されたシンボルです。 2番目の返却値statusは次の値になります。

例文

(in-package "COMMON-LISP-USER") =>  #<PACKAGE "COMMON-LISP-USER">
(intern "Never-Before") =>  |Never-Before|, NIL
(intern "Never-Before") =>  |Never-Before|, :INTERNAL 
(intern "NEVER-BEFORE" "KEYWORD") =>  :NEVER-BEFORE, NIL
(intern "NEVER-BEFORE" "KEYWORD") =>  :NEVER-BEFORE, :EXTERNAL

副作用

なし。

影響

なし。

例外

なし。

参考

find-symbol, read, symbol, unintern, 2.3.4. トークンとしてのシンボル

備考

internが名前の衝突チェックを行う必要はなく、 なぜなら指定した名前のシンボルがすでにアクセス可能であるときに 新しいシンボルを作成するようなことはないからです。


TOP, Github