next up previous contents index
: 記号と文字列の相互変換 : 記号 : 記号   目次   索引

インターンされない記号の生成

(gensym) 【関数】

インターン(intern)されない記号を生成して返す. 生成される記号の印字名は gensymが適当に選択する.

通常の記号はインターンされており, 入力時に使用される記号ハッシュテーブルに登録されている. このために同じ名前の記号を再度入力すれば同一の記号が得られる.

例:
> (define x 'foo)
x
> (eq? x 'foo)
#t

しかし,インターンされない記号は記号ハッシュテーブルに登録されないために, 同じ名前の記号を入力しても同一の記号とはならない.

例:

> (define x (gensym))
x
> x
|#$0|
> (eq? x '|#$0|)
#f

gensymによって生成される以外の記号はすべてインターンされる.


Tsuneyasu KOMIYA 平成14年2月22日