【问题标题】:Clojure creating higher order first functionClojure 创建高阶优先函数
【发布时间】:2015-06-25 01:30:07
【问题描述】:
; Now create a function that takes a function (which produces a sequence)

; as an argument.  Your function should invoke that function and return and

; return the first element from the returned sequence.

(is (higher-order-first-function? __))

伙计们,这实际上是我作业的一部分。我有 1000 行代码要做。这只是我无法弄清楚如何去做的一部分。谁能帮我解决这个问题?我尝试了所有可能的方法,但是。我没能通过测试。

【问题讨论】:

  • 那么,如何声明函数参数?你如何调用一个函数?目前尚不清楚您是否希望我们帮助您或为您完成工作。

标签: clojure


【解决方案1】:

所以这些步骤从 cmets 很清楚:

  1. 编写一个需要一个参数的函数(使用 defn、fn 或 #())
  2. 那个参数应该是一个函数,所以检查一下(fn?)
  3. 调用该函数
  4. 返回返回序列中的第一个元素(第一个)

【讨论】:

  • (fn [input-fn](+ (input-fn) 1)) 我这样做了,但它不起作用。你能给我一个例子吗?我真的迷路了。 :)
  • 所以...您正在调用 input-fn 并将结果加 1。那是不行的。 (fn [f] (when (fn? f) (first (f))))
  • 谢谢凯文,我通过一遍又一遍地阅读你的答案实际上解决了这个问题。 :))
猜你喜欢
  • 1970-01-01
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-14
相关资源
最近更新 更多