【发布时间】:2016-09-25 00:26:28
【问题描述】:
我有一张这样的地图矢量
(def map1
[{:name "name1"
:field "xxx"}
{:name "name2"
:requires {"element1" 1}}
{:name "name3"
:consumes {"element2" 1 "element3" 4}}])
我正在尝试定义一个函数,该函数接受 {"element1" 1 "element3" 6} 之类的映射(即:具有 n 个字段,或 {})并在 map1 中拟合映射,仅返回没有 @ 的映射987654325@ 和 consumes,或者与它们关联的数字小于与提供的映射中与该键关联的数字(如果提供的映射没有类似的任何键,则不会返回)
但我无法掌握如何处理地图递归循环和过滤
(defn getV [node nodes]
(defn filterType [type nodes]
(filter (fn [x] (if (contains? x type)
false ; filter for key values here
true)) nodes))
(filterType :requires (filterType :consumes nodes)))
【问题讨论】:
-
你好戴维斯!我编辑了问题以准确反映我在代码中遇到的问题
标签: clojure elementary-functions