使用来自 datomic db 的 9 个元素动态填充列表
Dynamically filling a list with 9 elements from datomic db
所以我有这样的方法:
(defn get-nine-posts []
(let [nine-tile ()]
(->>
;;gets three posts
(conj nine-tile (->> (get-a-bunch-of-posts)
(take 3)))
;;maybe gets three posts.. [gets somewhere between 0 and 3]
(conj nine-tile (get-maybe-three-posts))
;;fill the rest of the nine-tile
(conj nine-tile (->> (get-posts-with-some-args 75 17)
(take (- 9 (count nine-tile)))) ;; $$$
(flatten))))
它将三个列表塞在一起。我要添加的最后一个列表应该填满剩余的插槽数(有 9 个)。
但是像
(count nine-tile) ;; $$$
在最后一个 conj 的中间只是 returns 0。我希望它能够评估列表中已经有多少元素。我想(取)差价。
执行此操作的优雅方法是什么?
(->> (concat (take 3 (get-a-bunch-of-posts))
(get-maybe-three-posts)
(get-posts-with-some-args 75 17))
(take 9))
所以我有这样的方法:
(defn get-nine-posts []
(let [nine-tile ()]
(->>
;;gets three posts
(conj nine-tile (->> (get-a-bunch-of-posts)
(take 3)))
;;maybe gets three posts.. [gets somewhere between 0 and 3]
(conj nine-tile (get-maybe-three-posts))
;;fill the rest of the nine-tile
(conj nine-tile (->> (get-posts-with-some-args 75 17)
(take (- 9 (count nine-tile)))) ;; $$$
(flatten))))
它将三个列表塞在一起。我要添加的最后一个列表应该填满剩余的插槽数(有 9 个)。
但是像
(count nine-tile) ;; $$$
在最后一个 conj 的中间只是 returns 0。我希望它能够评估列表中已经有多少元素。我想(取)差价。
执行此操作的优雅方法是什么?
(->> (concat (take 3 (get-a-bunch-of-posts))
(get-maybe-three-posts)
(get-posts-with-some-args 75 17))
(take 9))