不知道我的代码有什么问题当应该返回5时返回1

时间:2017-03-18 12:11:54

标签: clojure

(defn counttrue [val]
  (count (filter identity '(val))))

这与我如何从列表中调用它有关,我敢肯定。因为我跑的时候

(count (filter identity '(1 2 3 true true false nil))) 

它运作得很好。一些如何在定义和计算之间我缺少一些东西。

我也试过用#(如果%%)'(val)运行它并得到相同的答案。

我在这个网站上看到过类似的代码,但没有回答这个问题。我只是叫val错了吗?

1 个答案:

答案 0 :(得分:1)

'(val)是一个恰好一个元素的列表:原始列表。尝试:

(defn counttrue [val]
  (count (filter identity val)))

然后:

(counttrue '(1 2 3 true true false nil))