评论者: spinningtopsofdoom
这适用于has-set宏和hash-set文字。以下是从repl获得的内容:
`
cljs.user=> (hash-set 1 '1 2 '2 3 '3 4 '4 5)
{1 2 3 4 5}
cljs.user=> (hash-set 1 '1 2 '2 3 '3 4 '4)
{1 1 2 2 3 3 4 4}
cljs.user=> #{ 1 '1 2 '2 3 '3 4 '4}
{2 1 4 4 3 2 1 3}
cljs.user=> #{ 1 '1 2 '2 3 '3 4 '4 5}
{2 1 4 4 3 2 5 1 3}
cljs.user=> #{ 1 '1 2 '2 3 '3 4 '4 5 '5}
{2 5 1 4 4 3 2 5 1 3}
cljs.user=> (apply hash-set [1 '1 2 '2 3 '3 4 '4])
{1 2 3 4}
`
将hash-set作为函数调用将得到正确的结果。hash-set宏在元素数量超过8个之前将给出错误的结果,并使用PersistentHashSet的fromArray方法构建集合,而不是创建持久化数组映射的文本来构建集合。无论有多少元素,文本表述都是错误的。