为什么人们更喜欢列表推导式(for [x '(1 2 3)] (* 2 x))
而不是 (map #(* %1 2) '(1 2 3))
?
这种编程有好处吗?
1. 是否更具可读性?
2. 在某些情况下会更快吗?
3.对于某些类型的操作和数据结构是否更好?
最佳答案
对于您给出的示例,没有任何好处;但总的来说,for
当你加入两个(或更多)序列时,或者当你需要做一些过滤时很有用 - a for
与 :let
和 :when
通常比嵌套的链更易读map
和 filter
.
关于functional-programming - 列表理解比列表抽象更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1175273/