Function TREE-EQUAL
tree-equal
tree-1 tree-2 &key test test-not => generalized-boolean
tree-1 - ツリー
tree-2 - ツリー
test - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
test-not - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
generalized-boolean - generalized-boolean
tree-equal
は、2つのツリーが 同じ形であり同じ葉を持っているかどうかをテストします。 tree-equal
は、 tree-1とtree-2がどちらもアトムでかつ testを満たすときはtrueを返却し、 また、どちらもコンスであり、 tree-1のcar
とtree-2のcar
がtree-equal
で等しく、 tree-1のcdr
とtree-2のcdr
がtree-equal
で等しいとき、 trueを返却を返却します。 その他の場合は、tree-equal
はfalseを返却します。
tree-equal
はコンスを再帰的に比較しますが、 要素を持つ他のオブジェクトは比較しません。
:test:
と:test-not
の関数の 最初の引数は、tree-1か、tree-1のcar
かcdr
です。 二番目の引数は、tree-2か、tree-2のcar
かcdr
です。
setq tree1 '(1 (1 2))
(1 (1 2))) => (1 (1 2))
tree2 '(tree-equal tree1 tree2) => true
(eql tree1 tree2) => false
(setq tree1 '('a ('b 'c))
(=> ('a ('b 'c))
tree2 '('a ('b 'c))) => ((QUOTE A) ((QUOTE B) (QUOTE C)))
tree-equal tree1 tree2 :test 'eq) => true (
なし。
なし。
tree-1とtree-2がどちらも循環しているときの結果は未定義です。
equal
, 3.6. 横断の規則と副作用
:test-not
パラメーターは非推奨です。