如何在Clojure中初始化一个字节数组

时间:2010-12-10 22:11:53

标签: arrays clojure bytearray

在Clojure中创建一个初始化为指定值集合的字节数组的语法是什么?

这样的东西,但是有效......

(字节数组[0 1 2 3])

4 个答案:

答案 0 :(得分:13)

(字节数组(映射字节[0 1 2 3]))

afaik Clojure没有字节文字。

答案 1 :(得分:4)

其他海报给出了很好的答案。

这是为了防止你做这么多,并希望一个宏让你的语法更整洁:

(defmacro make-byte-array [bytes] 
  `(byte-array [~@(map (fn[v] (list `byte v)) bytes)]))  

(aget (make-byte-array [1 2 3]) 2)
=> 3

答案 2 :(得分:1)

(byte-array [(byte 0x00) (byte 0x01) (byte 0x02) (byte 0x03)])

答案 3 :(得分:1)

(byte-array [(byte 0) (byte 1) (byte 2)])

说明:

byte创建byte

byte-array创建byte[]

bytes将其转换为byte[]