我有一个没有副作用并且采用相同参数的函数列表。我需要评估列表中的每个函数,并将结果放入另一个列表中。 Clojure有没有这样的功能?评估Clojure中的函数列表
回答
(map #(% arg) function-list)
应该做这份工作吗?
juxt
应该这样做:
((juxt inc dec) 1)
=> [2 0]
(如果你从字面上有功能的列表,你想要的结果的列表,请(apply list ((apply juxt (list inc dec)) 1))
,如注释说明。)
如果你有一个序列中的函数,你必须像往常一样将列表应用于'juxt'函数:'((apply juxt [inc dec])1)' – TheQuickBrownFox
小心,'(into'() ...)'会扭转顺序!如果您需要急切的评估,最好只是省略'into'或用'doall'替换它。 –
这是一个很好的观点,谢谢。虽然这两种方法都不返回列表,但是“应用列表”将修复它。更新我的答案。 – bsvingen
(map apply [+ - * /] (repeat [1 2 3 4]))
=> (10 -8 24 1/24)
- 1. 评估Clojure中
- 2. 评估Clojure中
- 3. 宏的Clojure评估
- 4. 评估函数
- 5. C++中的“评估函数”
- 6. 如何在clojure宏中测试未评估函数?
- 7. 评估其参数存储在列表中的函数
- 8. Clojure递归评估顺序
- 9. Clojure宏字符串评估
- 10. Clojure“eval”无法评估!
- 11. 在matlab中评估函数
- 12. Clojure中的Java,评估问题
- 13. 如何评估clojure中的java.lang.String
- 14. sqlalchemy:and_和条款列表中的日期函数的评估
- 15. 评估在itemTpl的函数列表中的
- 16. R包函数中的标准评估与非标准评估
- 17. 函数的条件评估
- 18. 有没有办法逐步显示Clojure如何评估函数?
- 19. 评估列表的组合
- 20. 评估VHDL中的指数函数
- 21. Javascript函数参数评估
- 22. 函数参数未评估
- 23. 如何评估Clojure中不纯功能的序列?
- 24. clojure,使用函数列表
- 25. 评估Cursive Clojure中REPL表达式的快捷方式?
- 26. 在matlab中评估函数的值
- 27. 如何评估GDB中的函数?
- 28. 评估Emacs中的随机elisp函数
- 29. JavaScript中的字符串评估函数
- 30. javascript中的JSON评估函数
如果您的意思是要将每个函数应用于相同的参数,则只需要一个适当的函数来在列表中“映射”。 – molbdnilo