% Function TREE-EQUAL
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))
tree2 '(1 (1 2))) => (1 (1 2))
(tree-equal tree1 tree2) => true
(eql tree1 tree2) => false
(setq tree1 '('a ('b 'c))
tree2 '('a ('b 'c))) => ('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
パラメーターは非推奨です。