在回答this question时,我开始意识到我不确定Perl的map
是否可以被认为是循环?
一方面,它像循环一样嘎嘎/行走(O(n) 是否有效,可以通过等效循环轻松重写,并且有点符合常见定义=“不断重复的指令序列” ”)。
另一方面,map
通常不会列在 Perl 的控制结构中,循环是其子集。例如。 http://en.wikipedia.org/wiki/Perl_control_structures#Loops
所以,我正在寻找的是一个正式的理由来说服一方与另一方。到目前为止,前者(它是一个循环)对我来说听起来更有说服力,但令我困扰的是我从未在 Perl 循环列表中看到过“map”。
最佳答案
映射是比循环更高层次的概念,借用自函数式编程。它没有说“从头到尾,对每个项目调用此函数”,而是说“对所有这些项目调用此函数”。它可能会实现为循环,但这不是重点 - 它也可能会异步实现 - 它仍然是映射。
此外,它本身并不是真正的控制结构——如果在其实现中使用循环的每个 Perl 函数都列在“循环”下会怎样?仅仅因为某些东西是使用循环实现的,并不意味着它应该被视为它自己的循环类型。
关于perl - "map"是循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019925/