最近比较忙

头像
523066680
Administrator
Administrator
帖子: 340
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 30 times
Been thanked: 27 times
联系:

最近比较忙

帖子 #1 523066680 » 2016年10月11日 20:42

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

相信会慢慢变好。 ;)

头像
523066680
Administrator
Administrator
帖子: 340
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 30 times
Been thanked: 27 times
联系:

Re: 最近比较忙

帖子 #2 523066680 » 2017年05月06日 17:54

#列表操作
",", 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
崭露头角
崭露头角
帖子: 20
注册时间: 2017年12月25日 11:12
拥有现金: 锁定
储蓄: 锁定
Has thanked: 7 times
联系:

Re: 最近比较忙

帖子 #3 zzz19760225 » 2018年04月29日 11:45

不明觉厉,估计基础的东西对整体效率影响大,量到质。


回到 “日志”

在线用户

用户浏览此论坛: 没有注册用户 和 0 访客