【发布时间】:2020-08-04 06:30:28
【问题描述】:
我在研究elixir,看到有两种迭代方式
Comprehension
And recursion
我特别想知道循环和理解之间的区别, 我用谷歌搜索了这个问题,但没有得到令人满意的答案。
【问题讨论】:
-
这和 Haskell 有什么关系?
-
看来这个问题已经关闭所以我不能回答它,但我可以尝试在 cmets 中至少给出一个答案的概述。 (1/4)
-
递归是当一个函数调用自身时,在达到某个条件(“基本情况”)时停止。在纯函数式编程语言中,这是实现迭代的基本结构。 (2/4)
-
循环是一种结构,其中代码块多次运行直到达到条件,通常通过更新变量的值同时或直到它满足指定条件.在命令式编程语言中,这是实现迭代的基本结构;相比之下,纯函数式语言通常不提供循环。 (快速的 Google 搜索告诉我 Elixir 没有任何循环。)(3/4)
-
A 列表理解 不同于其他两种构造,因为它不能(通常)执行任意代码。相反,列表推导只能用于构造列表。列表推导遍历一个(或多个)列表的元素,查看哪些满足特定条件,并将这些满足的元素收集到一个新列表中。 (4/4)
标签: loops recursion functional-programming elixir