perl的grep,map用法及区别
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
页:
[1]