Function TREE-EQUAL

UP


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-1tree-2がどちらもアトムでかつ testを満たすときはtrueを返却し、 また、どちらもコンスであり、 tree-1cartree-2cartree-equalで等しく、 tree-1cdrtree-2cdrtree-equalで等しいとき、 trueを返却を返却します。 その他の場合は、tree-equalfalseを返却します。

tree-equalはコンスを再帰的に比較しますが、 要素を持つ他のオブジェクトは比較しません。

:test::test-notの関数の 最初の引数は、tree-1か、tree-1carcdrです。 二番目の引数は、tree-2か、tree-2carcdrです。

例文

(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-1tree-2がどちらも循環しているときの結果は未定義です。

参考

equal, 3.6. 横断の規則と副作用

備考

:test-notパラメーターは非推奨です。


TOP, Github