wdx1992828 发表于 2018-8-31 06:07:42

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]
查看完整版本: perl的grep,map用法及区别