函数式编程语言中的循环、理解和递归有什么区别?

问题描述 投票:-5回答:1

我在研究elixir,我看到有两种迭代的方式。

Comprehension
And recursion

我想知道循环和理解的区别,我已经上网查了这个问题,但没有得到满意的答案。

loops recursion functional-programming elixir
1个回答
0
投票

@bradrn

递归 是指当一个函数调用自己,当达到某个条件("基本情况")时停止。在纯函数式编程语言中,这是实现迭代的基本结构。

A 是一种结构,在这种结构中,代码块会被多次运行,直到达到某个条件,通常是通过更新变量的值while或者直到满足指定条件。在命令式编程语言中,这是实现迭代的基本结构;相比之下,纯函数式语言通常不提供循环。(谷歌快速搜索告诉我,Elixir没有任何循环。)

A 名单理解 与其他两个构造不同,它不能(通常)执行任意代码。相反,列表解析只能用于构造一个列表。列表解析通过一个(或多个)列表中的元素,查看哪些元素满足某个条件,并将这些满足条件的元素收集到一个新的列表中。

© www.soinside.com 2019 - 2024. All rights reserved.