Mat*_*mer 0 set-theory clojure set
我尝试从一组中释放元素,这些元素存在于Clojure中的不同序列中.但clojure.set/difference似乎没有像我期望的那样起作用.我的错误在哪里?
一些例子:
(difference #{3 2} '())
Run Code Online (Sandbox Code Playgroud)
结果:( #{3 2}如预期的那样)
(difference #{3 2} '(3))
Run Code Online (Sandbox Code Playgroud)
结果:( #{2}如预期的那样)
(difference #{3 2} '(1))
Run Code Online (Sandbox Code Playgroud)
结果:( #{3 2}如预期的那样)
(difference #{3 2} '(2 3))
Run Code Online (Sandbox Code Playgroud)
结果:( #{}如预期的那样)
(difference #{3 2} '(1 2 3))
Run Code Online (Sandbox Code Playgroud)
而不是结果我得到IllegalArgumentException包含?类型不支持:clojure.lang.PersistentList clojure.lang.RT.contains(RT.java:814)
预期结果: #{}
所以看起来,clojure.set/difference当结果是空集并且要删除的元素集具有比原始集更高的基数时,函数失败.但问题是:为什么这不起作用?我希望这是一个合法的应用程序clojure.set/difference.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |