perl – 是“映射”一个循环吗?

在回答 this question时,我发现我不确定Perl的地图是否可以被认为是一个循环?

一方面,它像一个循环(O(n)工作,可以容易地通过等效循环重写,并且排序符合常见的定义=“一连串不断重复的指令”循环)。

另一方面,map通常不列在Perl的控制结构中,其中循环是其中的一个子集。例如。 http://en.wikipedia.org/wiki/Perl_control_structures#Loops

所以,我正在寻找的是一个正式的理由,说服一方对另一方。到目前为止,前者(它是一个循环)听起来更加令人信服的我,但我困扰的事实,我从来没有看到“地图”提到的Perl循环列表。

解决方法

映射是一个比循环更高层次的概念,借鉴了函数式编程。它不说“每一个这些项目,从一开始到结束逐个调用这个函数,”它说“在所有这些项目上调用这个函数。它可能被实现为一个循环,但这不是重点 – 它也可能是异步实现 – 它仍然是map。

此外,它本身不是一个真正的控制结构 – 如果每个perl函数在其实现中使用一个循环列在“循环?只是因为某事使用循环来实现,并不意味着它应该被认为是它自己的循环类型。

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...