Clojure高阶函数

时间:2014-05-30 18:22:32

标签: clojure

我正在解决4clojure中的问题并陷入Problem 46或示例

(= true ((__ >) 7 8))

我们需要填写_

基本上我需要创建一个函数,它将另一个函数作为参数,但不知道该去哪里。此外,如果我创建一个匿名函数

,评估类型会让我感到困惑
(fn [f] ())

接受函数>我不知道如何传递>的其他参数来操作。

我不想要答案,只是某个方向。

2 个答案:

答案 0 :(得分:5)

鉴于你在空白处放置的内容将采取>然后作为函数进行评估,你需要的是一个返回函数的函数。

你有这个:

 (fn [f] ())

我们如何让它返回一个函数?

 (fn [f] (fn [something here] (something here)))

现在你所要做的就是填写'这里的东西'。

答案 1 :(得分:0)

您正在寻找的函数是返回一个函数,该函数反转其参数并应用于原始函数:

(fn [f]
  (fn [x y]
    (f y x)))