欢迎!有关本站如何运作的更多信息,请参阅关于页面。
在Clojure中,有没有类似于Scala的ArraySeq的不变性Java数组包装?
对于引入此类包装器到Clojure核心,你的看法是什么?
这已经存在了,名字也完全一样。这个包是clojure.lang。
clojure.lang
要使用它,只需在数组上调用seq函数,结果将是一个包装着数组的ArraySeq实例。
seq
ArraySeq
注意,数组没有被复制,所以不应被其他东西修改。另外,对于原始类型有定制类,例如ArraySeq_int,但这只是实现细节——只是让你知道,这样你就不需要检查(instance? clojure.lang.ArraySeq x)。
ArraySeq_int
(instance? clojure.lang.ArraySeq x)