clojure/core.rrb-vector 在 clojurescript 中实现了 MapEntry 协议,这可能导致将其传递给 (vec ...) 时出现不正确的结果(它检查输入是否为 MapEntry 作为其第一个情况)。
(vec (range 10))
[0 1 2 3 4 5 6 7 8 9]
>(rrb/vec (range 10))
[0 1 2 3 4 5 6 7 8 9]
(vec (rrb/vec (range 10)))
[0 1] <------- !!!!!!!!!
(seq (rrb/vec (range 10)))
(0 1 2 3 4 5 6 7 8 9)
(map-entry? (rrb/vec (range 10)))
true <------- !!!!!!!!
(map-entry? (vec (range 10)))
false