*问题:* clojure.data/diff 在比较不同的映射时不一致地返回一个惰性序列,而其他情况则返回一个向量。
用户 > (数据/diff {:a 1 :b 2} {:a 1})
({:b 2} nil {:a 1})
这与文档和正常行为不一致
用户 > (数据/diff {:a 1 :b 2} {:a 1 :b 2})
[nil nil {:a 1, :b 2}]
用户 > (数据/diff #{1 2 3} #{1 2 3})
[nil nil #{1 3 2}]
用户 > (数据/diff #{1 2 3} #{1 2})
[#{3} nil #{1 2}]
文档字符串声明:“递归比较a和b,返回一个元组[只在a中的元素 只在b中的元素 两者都有的元素]”,这意味着它应该始终返回一个向量。