【发布时间】:2019-10-26 11:14:57
【问题描述】:
我有一个函数可以在方板上生成坐标向量。运行这个函数的结果是某种形式的东西
[{:x 1, :y 0} {:x 0, :y 1} {:x 2, y:3} {:x 3, :y 4}]
运行这个函数后,我需要对上面的结果应用另一个函数。由于我将在集合上映射函数,因此我认为使用 map 函数是合适的。因此,我编写了以下方法:
(defn attack [x y] (map (fn [coord] (println (get coord :x))) [{:x 1, :y 0} {:x 0, :y 1}]))
(我也试过上面的例子,用 get-in 代替 get,没有用)
这不是该方法的最终形式,而只是我试图查看运行后是否至少可以看到打印到终端的内容
clojure myscript.clj
但是,它没有任何结果,我是否从 fn 函数返回值似乎并不重要。比如这个
(defn attack [x y] (map (fn [coord] coord) [{:x 1, :y 0} {:x 0, :y 1}]))
也不返回任何内容。有谁知道我如何至少可以访问我的 fn 函数中的向量内的值?
最后,我的向量是否是通过调用另一个函数生成的有关系吗?
例如,
(defn attack [x y] (map (fn [coord] coord) (get-attack-coordinates x y)))
这会是个问题吗?我猜不是,但我认为问一下以防万一是个好主意。 谢谢大家的阅读:)
【问题讨论】:
标签: vector clojure functional-programming