一意なID(ポインタアドレス)取得
たまに、(正確な用語ではないが)オブジェクトごとに一意なIDを取得したいことがある。
Cで云うポインタがあれば、それが適切なのだが、common lispにはポインタを取得する方法は定義されていない(と思う)。
ただ、SBCLに限れば、ポインタ(アドレス)を取得する方法があったので、それをオブジェクトのIDとして扱うことが出来る。
(defun obj-id (obj) (sb-kernel:get-lisp-obj-address obj))
たまに、(正確な用語ではないが)オブジェクトごとに一意なIDを取得したいことがある。
Cで云うポインタがあれば、それが適切なのだが、common lispにはポインタを取得する方法は定義されていない(と思う)。
ただ、SBCLに限れば、ポインタ(アドレス)を取得する方法があったので、それをオブジェクトのIDとして扱うことが出来る。
(defun obj-id (obj) (sb-kernel:get-lisp-obj-address obj))