加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl: grep, map

发布时间:2020-12-16 00:22:23 所属栏目:大数据 来源:网络整理
导读:grep: my @odds = grep {$_ % 2} 1..10; ? my @lines = grep {/bfredb/i} FILE; my @lines = grep /bfredb/I,FILE; ? map: ? ? ? map 操作和 grep 非常类似,因为它们有相同类型的参数:一个使用 $_ 的块,以及一列需要处理的元素。它们处理的方式也 是

grep:

my @odds = grep {$_ % 2} 1..10;

?

my @lines = grep {/bfredb/i} <FILE>;

my @lines = grep /bfredb/I,<FILE>;

?

map:

? ? ? map操作和grep非常类似,因为它们有相同类型的参数:一个使用$_的块,以及一列需要处理的元素。它们处理的方式也

是类似的,首先根据列表中的元素对块的值进行判断,每一次$_被赋予新的列表中的值。

? ? ? 但使用块中最后一个表达式的值的方法是不同的:grep不是返回一个Boolean值,而是将计算的值作为返回结果。

? ? ? 任何的grepmap语句均可以用foreach环重新书写,每一次将结果元素放入一个临时数组中。

但短的方式通常更有效以及方便。由于的结果是列表,因此它可以直接传递给另一个函数。


e.g.

[omc@rocca ~]$ perl -e 'my @odds = grep {$_ % 2} 1..10; foreach my $tmp(@odds) {print "$tmpn";}'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1
3
5
7
9
[omc@rocca ~]$ perl -e 'my @odds = map {$_ % 2} 1..10; foreach my $tmp(@odds) {print "$tmpn";}'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 0 1 0 1 0 1 0 1 0 [omc@rocca ~]$?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读