您的位置:首页 > 其它

perl的grep,map用法及区别

2013-10-15 11:48 507 查看
1、map
对数组的每个元素计算语句值,最后将得到的最终值组成一个数组返回,$_为当前元素值
格式:
1-1、 @arr=map 单条语句,@number;
1-2、 @arr=map {多条语句} @number;
例子:
@arr=map $_+1,1..3; // @arr=(2,3,4)
@arr=map {$_=$_+1;$_+1} 1..3; // @arr=(3,4,5)

2、grep

对数组的轮询,语句(语句块)为真,则对将该元素加入到返回的数组中(返回的数组初始为空),$_为当前元素值
格式:
1-1、 @arr=grep 单条语句,@number;
1-2、 @arr=grep {多条语句} @number;
例子:
@arr=map $_%2==1,1..3; // @arr=(1,3)
@arr=map { $_%2==0} 1..3; // @arr=(2)

3、转换
例子:
将找出一个1-100中所有的奇数

grep方式
@arr=grep $_%2==1, 1..100;

map方式
@arr=map {();if($_%2==1){$_;}else{();}} 1..100;
http://zk1878.iteye.com/blog/1164906
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: