从一维创建二维向量
Create 2-dimensional vectors from 1-dimensionals
虽然我的问题似乎与一个相当琐碎的任务有关,但我还没有能够成功地创建一个二维向量
[[1 2] [3 4]]
来自两个单独的向量,
(def a [1 2])
和 (def b [3 4])
.
撇开函数 conj
和 cons
,我 运行 进入了 vec
或 into-array
都需要单一输入值的问题。
另一种解决方法是预填充二维向量
(vec (replicate 2 (vec (replicate 2 nil))))
但我仍然是一个复杂的选择。
只需使用vector
:
(def a [1 2])
(def b [3 4])
(vector a b) => [[1 2] [3 4]]
[a b] => [[1 2] [3 4]]
有几种方法可以解决这个问题:
- 正如@MartinPůda所说,使用
vector
:(vector a b) => [[1 2] [3 4]])
- 使用
conj
:(conj [] a b) => [[1 2] [3 4]]
- 使用向量文字:
[a b] => [[1 2] [3 4]]
如果 Clojure 有问题,那就是财富过剩。 :-)
虽然我的问题似乎与一个相当琐碎的任务有关,但我还没有能够成功地创建一个二维向量
[[1 2] [3 4]]
来自两个单独的向量,
(def a [1 2])
和 (def b [3 4])
.
撇开函数 conj
和 cons
,我 运行 进入了 vec
或 into-array
都需要单一输入值的问题。
另一种解决方法是预填充二维向量
(vec (replicate 2 (vec (replicate 2 nil))))
但我仍然是一个复杂的选择。
只需使用vector
:
(def a [1 2])
(def b [3 4])
(vector a b) => [[1 2] [3 4]]
[a b] => [[1 2] [3 4]]
有几种方法可以解决这个问题:
- 正如@MartinPůda所说,使用
vector
:(vector a b) => [[1 2] [3 4]])
- 使用
conj
:(conj [] a b) => [[1 2] [3 4]]
- 使用向量文字:
[a b] => [[1 2] [3 4]]
如果 Clojure 有问题,那就是财富过剩。 :-)