[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.50 util.isomorph - 同型判定

Module: util.isomorph

二つの構造が同型かどうかを判定する手続きを提供するモジュールです。

Function: isomorphic? obj1 obj2 :optional context

obj1obj2が同型であれば#tを返します。

省略可能な引数contextは、下で説明するobject-isomorphic? の中からisomorphic?を再帰的に呼び出す場合に使います。

 
(isomorphic? '(a b) '(a b)) ⇒ #t

(define x (cons 0 0))
(define y (cons 0 0))
(isomorphic? (cons x x)
             (cons x y))
 ⇒ #f
(isomorphic? (cons x x)
             (cons y y))
 ⇒ #t
Generic Function: object-isomorphic? obj1 obj2 context

このメソッドで、二つのオブジェクトの同型判定処理をカスタマイズできます。 基本的には、オブジェクトのトラバースしたいスロットに対してisomorphic?を順に適用し、 全てが成功すれば#tを、一つでも失敗すれば#fを返すようにします。 contextはトラバースのコンテクストを保持しているオブジェクトです。そのまま isomorphic?に渡して下さい。

デフォルトメソッドは、obj1obj2equal?の意味で等しければ #tを返します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Shiro Kawai on May 28, 2012 using texi2html 1.82.