Clojure 如何使用一个参数按顺序生成多个函数调用

Clojure 如何使用一个参数按顺序生成多个函数调用,clojure,Clojure,我想获取一个使用(map#(n%10 nil)v1)生成的序列[44 11],并将其馈送(map)到对同一函数的连续调用中。我只是不确定哪一个Clojure内置或内置的使用以外的其他用途 详情如下 考虑到这两个向量: (def v1 [[44 2 3 4 5] [1 6 7 5 10] [11 12 13 14 15]]) (def v2 [[1 2 3 4 44] [1 6 7 5 1] [11 12 13 14 44]

我想获取一个使用
(map#(n%10 nil)v1)
生成的序列
[44 11]
,并将其馈送(map)到对同一函数的连续调用中。我只是不确定哪一个Clojure内置或内置的使用以外的其他用途

详情如下

考虑到这两个向量:

(def v1 [[44 2 3 4 5]
         [1 6 7 5 10]
         [11 12 13 14 15]])

(def v2 [[1 2 3 4 44]
         [1 6 7 5 1]
         [11 12 13 14 44]])
这个函数呢

(defn ret-non-match-rows
    "Expects a sequence of sequences, like what is returned from clojure-csv.
     Returns all csv rows that do not match cmp-val at cmp-col-idx."

    [s-o-s cmp-val cmp-col-idx]

    (filter (complement nil?) 
       (map #(if (ret-col-match %1 cmp-val cmp-col-idx) nil %1) s-o-s) ))
因此,我请求帮助如何将(map)
[44 11]
馈送到像这样的ret非匹配行中

(ret-non-match-rows v2 44 4)
(ret-non-match-rows v2 44 1)
(ret-non-match-rows v2 44 11)
但是使用Clojure内置来生成这些单独的调用

多谢各位

编辑:

下面给出了我想要的,但我想知道是否有更干净的方法

(def ssn-1 [44 1 11])
(def tst (partial ret-non-match-rows v2 4))
(map #(tst %1) ssn-1)
我将返回一个序列,并将对其进行分析以获得结果。

也许您希望这样:

(map (partial ret-non-match-rows v2 44) (map first v1))
(假设第一个示例调用中的
4
是一个打字错误,应该是
44

也许您想要这样:

(map (partial ret-non-match-rows v2 44) (map first v1))

(假设第一个示例调用中的
4
是一个打字错误,应该是
44

我理解这个问题有困难。您是在请求帮助编写ret非匹配行或ret col match,还是其他内容?为什么
v2
?你似乎没有在任何地方使用它。我已经编辑了原始帖子,希望它更清晰一些。@octopusgrabbus抱歉,现在更不清晰了。v1和v2中的元素是如何映射到调用序列中的参数的?如果第一次调用中的4是一个输入错误(你指的是44),那么这是有道理的。我是基于这个假设做出了回答。我在理解这个问题时遇到了困难。您是在请求帮助编写ret非匹配行或ret col match,还是其他内容?为什么
v2
?你似乎没有在任何地方使用它。我已经编辑了原始帖子,希望它更清晰一些。@octopusgrabbus抱歉,现在更不清晰了。v1和v2中的元素是如何映射到调用序列中的参数的?如果第一次调用中的4是一个输入错误(而你指的是44),这是有一定意义的,我是基于这个假设做出了回答的。@octopusgrabbus编辑过,但我不明白4是v2中匹配的列号的意思。列号匹配什么?我从v1的第0列获得了第一组值。我需要将由
(map#(n%10 nil)v1)
生成的序列
[44 11]
的每个元素与v2第4列中的每个值进行比较。第4栏包含了
[44 1 44]
我接受这个,因为你的指导让我找到了我需要去的地方。我完全忘记了部分内容。@octopusgrabbus已编辑,但我不明白4是v2中匹配的列号是什么意思。列号匹配什么?我从v1的第0列获得了第一组值。我需要将由
(map#(n%10 nil)v1)
生成的序列
[44 11]
的每个元素与v2第4列中的每个值进行比较。第4栏包含了
[44 1 44]
我接受这个,因为你的指导让我找到了我需要去的地方。我完全忘记了部分。