Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 在函数式编程中使用“递归”概念迭代收集数据_Loops_Oop_Recursion_Functional Programming - Fatal编程技术网

Loops 在函数式编程中使用“递归”概念迭代收集数据

Loops 在函数式编程中使用“递归”概念迭代收集数据,loops,oop,recursion,functional-programming,Loops,Oop,Recursion,Functional Programming,我读过一些文章和文档,其中提到函数式编程使用“递归”概念来迭代收集数据,而OOP使用“循环”概念来迭代收集数据,例如:-Java中的for each循环。所以我对这句话感到困惑。我有三个问题 在函数式编程中使用“循环”是否是一种良好的做法? 如果没有,谁能告诉我应该用什么方法? 有人能给我举个例子,比较一下两种迭代收集数据的方法吗? 例如,你的问题有点不清楚 在函数式编程中使用“循环”是否是一种良好的做法 函数式编程语言中的循环构造是什么?一些函数式编程语言缺少每个函数的显式循环语句,例如,wh

我读过一些文章和文档,其中提到函数式编程使用“递归”概念来迭代收集数据,而OOP使用“循环”概念来迭代收集数据,例如:-Java中的for each循环。所以我对这句话感到困惑。我有三个问题

在函数式编程中使用“循环”是否是一种良好的做法? 如果没有,谁能告诉我应该用什么方法? 有人能给我举个例子,比较一下两种迭代收集数据的方法吗?
例如,你的问题有点不清楚

在函数式编程中使用“循环”是否是一种良好的做法

函数式编程语言中的循环构造是什么?一些函数式编程语言缺少每个函数的显式循环语句,例如,while,do while

无论如何,按顺序:

在函数式编程中使用“循环”是否是一种良好的做法

使用命令式样式表示循环的任何尝试通常都被认为是一种糟糕的做法。如前所述,许多函数式编程FP语言缺少这样的结构

如果没有,谁能告诉我应该用什么方法

你可以在维基百科上阅读

许多数据结构(如列表)本质上是递归的,因此递归地遍历它们应该感觉相当自然

有人能给我举个例子,比较一下两种迭代收集数据的方法吗

让我们使用一些伪代码遍历一个列表

命令式 两个必要的示例映射到不同的循环结构

每人 虽然 让len是一个返回列表长度的函数,让列表为零索引,这样列表[0]==1

在许多FP语言中,还有其他方法可以迭代列表,最显著的是映射和列表理解,但我暂时不提这一点。

从回答转到:顺便说一下,欢迎使用StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。这个问题有些开放性,不属于传统SO格式的范围。
list = [1, 2, 3]

for element in list:
    print element
list = [1, 2, 3]
i = 0

while i < len(list):
    print element
    i++
list = [1, 2, 3]

def loop(list):
   if list == []: # Check if the list is empty
       return

   print head(list)
   loop(tail(list))