perl - "map"是循环吗?

标签 perl dictionary loops semantics

在回答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/

相关文章:

perl - Bugzilla-VCS 安装 Extension.pm 中出现错误

perl - 如何在perl中执行cleartool命令

python - 如何在Python中创建一个子字典来覆盖 super 字典

python - 使用 patches.Rectangle 绘制不规则光栅图时避免缓慢循环

perl - Microsoft Word 到组织模式

perl - 我是否总是必须为 Tkx 的 -command 参数提供一个匿名子程序?

dictionary - YAML:具有空值的字典

javascript - JS - 深度 map 功能

function - 包装到带有进度条的FOR循环

Java控制台无限次打印 "infinity"而不是值?