欢迎!请参阅关于页面以了解更多有关此工作的信息。
在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)