Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Clojure-是否从字节数组中删除0?_Java_Clojure - Fatal编程技术网

Java Clojure-是否从字节数组中删除0?

Java Clojure-是否从字节数组中删除0?,java,clojure,Java,Clojure,我正在将文件读入字节数组,但是字节数组有一些尾随的0,我想删除它们(返回不带0的新字节数组)。但是字节数组不是一个列表式的东西,所以我不能在它上面使用filter/remove/map 是在字节数组上使用递归的唯一解决方案吗 谢谢 您应该能够在字节数组上使用序列操作: (byte-array (take-while pos? (.getBytes (slurp "some/binary/file.dat")))) Clojure中的字节数组是一个序列,而filter、map和其他函数处理序列

我正在将文件读入字节数组,但是字节数组有一些尾随的0,我想删除它们(返回不带0的新字节数组)。但是字节数组不是一个列表式的东西,所以我不能在它上面使用filter/remove/map

是在字节数组上使用递归的唯一解决方案吗


谢谢

您应该能够在字节数组上使用序列操作:

(byte-array (take-while pos? (.getBytes (slurp "some/binary/file.dat"))))

Clojure中的字节数组是一个序列,而filter、map和其他函数处理序列

可以使用此函数删除尾随零:

(defn pos-byte-arrayE
    [seq]
    (take-while pos? seq))
您可以在字节数组上使用过滤器来删除所有零

(defn pos-byte-arrayF
    [seq]
    (filter pos? seq))

repl-test.core=> (pos-byte-arrayF [1 2 3 0])
(1 2 3)

我找到了。。。我没意识到这个记号不是用来装饰的。感谢一般性说明。。在Clojure中有
seq
s,然后有
sekable
东西。Java数组是可排序的,因此
(seq a)
返回一个由
a
支持的
seq