这里是如何从 repl 得到输出的:
cljs.user=> (hash-set 1 '1 2 '2 3 '3 4 '4 5)
`
cljs.user=> (hash-set 1 '1 2 '2 3 '3 4 '4)
{1 2 3 4 5}
cljs.user=> #{ 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 5}
{2 1 4 4 3 2 1 3}
cljs.user=> #{ 1 '1 2 '2 3 '3 4 '4 5 '5}
{2 1 4 4 3 2 5 1 3}
cljs.user=> (apply hash-set [1 '1 2 '2 3 '3 4 '4])
{2 5 1 4 4 3 2 5 1 3}
调用 hash-set 作为函数会给出正确的结果。但在我们有一个以上 8 个元素之前,hash-set 宏会给出错误的结果,并且用 PersistentHashSet 的 fromArray 方法代替创建 set 的 PersistentArrayMap 的字面量。
{1 2 3 4}
`
字面量表示不管有多少元素都是错误的。