最近比较忙

回复
头像
523066680
Administrator
Administrator
帖子: 573
注册时间: 2016年07月19日 12:14
联系:

最近比较忙

帖子 523066680 »

最近讨论的东西比较多,终于开始出现一些来自搜索引擎的访客
有来自360搜索的也有百度的

相信会慢慢变好。 ;)
头像
523066680
Administrator
Administrator
帖子: 573
注册时间: 2016年07月19日 12:14
联系:

Re: 最近比较忙

帖子 523066680 »

#列表操作
",", sort,reverse,push, pop, shift, unshift, grep, map

##使用 grep 过滤列表
grep 的使用可以分为表达式形式和 block 形式

筛选大于10的数并保存到另一个数组:
```perl
my @input_numbers = (1, 2, 4, 8, 16, 32, 64);
my @bigger_than_10 = grep $_ > 10, @input_numbers;
```
结果为 16, 32, 64

通过隐式引用来筛选末尾含有4的数字:
`my @end_in_4 = grep /4$/, @input_numbers;`

如果测试表达式较为复杂,可以写在一个子例程中,然后通过 grep 调用。
在一组数字中,提取个位十位... 相加 %2 余 1 的项:
```perl
my @odd_digit_sum = grep digit_sum_is_odd($_), @input_numbers;

sub digit_sum_is_odd {
my $input = shift;
my @digits = split //, $input; # Assume no nondigit characters
my $sum;
$sum += $_ for @digits;
return $sum % 2;
}
```

块形式(相比调用子例程的形式,少了 return。在这里使用 return 将退出 grep ):
```perl
my @odd_digit_sum = grep {
my $sum;
$sum += $_ for split //;
$sum % 2;
} @input_numbers;
```
zzz19760225
一代宗师
一代宗师
帖子: 930
注册时间: 2017年12月25日 11:12
联系:

Re: 最近比较忙

帖子 zzz19760225 »

人生苦短,
根据相对论,就是忙碌的原因,加速了。
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 0 访客