我正在使用clojure.set
. join
有两个参数应该做一个自然连接。
加载它:
user=> (use 'clojure.set)
nil
这是有道理的——如果连接的任一侧有 0 行,结果也应该如此:
user=> (join [{:a 1 :b 2}] [])
#{}
这也是有道理的——同名列(全部为 0 :))具有相同的值:
user=> (join [{:a 1 :b 2}] [{}])
#{{:a 1, :b 2}}
同样的事情:
user=> (join [{:a 1 :b 2}] [{:c 3}])
#{{:c 3, :a 1, :b 2}}
但在这里我迷路了:
user=> (join [{:a 1 :b 2}] [{:a 2 :b 1} {}])
#{}
我之前加入{:a 1 :b 2}
了{}
,并得到了一个行。我错过了什么?