巧用 Perl 函数处理数组(一)

十一月 7, 2011

以下这些函数来自于 List::Util 模块,这是 Perl 内置的模块,不用白不用!

(1)求数组的和:不需要一个一个地累加,直接调用 sum 函数

use List::Util qw/sum/;
my @array = (10, 20, 30, 40);
my $sum = sum @array;       # 得到 100

(2)求数组的最大、最小值:不需要逐个比较,直接调用 max 和 min 函数

use List::Util qw/max min/;
my @array = (10, -1, 6, 25, 8);
my $max = max @array;           # 得到 25
my $min = min @array;           # 得到 -1

(3)如果是按照字符串排列的最大、最小值呢?调用 maxstr 和 minstr 函数

use List::Util qw/maxstr minstr/;
my @array = ("Beijing", "Shanghai", "Guangzhou", "Chengdu", "Nanjing");
my $maxstr = maxstr @array;     # 得到 Shanghai
my $minstr = minstr @array;     # 得到 Beijing

还有一个不得不说的秘密:这些函数都是经过 C 优化的,所以执行速度不但不会慢,反而非常快,嗖嗖的!

(未完待续啊!是不是觉得这些函数也不咋地?其实下节才更精彩。人算不如天算,关键时节居然感冒了zzzzzzzzzzz)

posted in Perl by billzt

Follow comments via the RSS Feed | Leave a comment | Trackback URL

说点什么

9 评论 在 "巧用 Perl 函数处理数组(一)"

提醒
排序:   最新 | 最旧 | 得票最多
游客

CPAN就是个海底捞,好多宝

游客

貌似很优雅的说

游客

@Mucid, 嗯,优雅的不得了啊

游客

额。。有点不太习惯这种语法

游客

@freetstar, 对于新手来说比较熟悉吧

游客

很方便啊

游客

@frewise, 是啊,你想要多少简单就有多少简单

游客

请问一下这个可以求数组的平均值吗?

游客

@belter, 可以折中一下:总和/数目 就行

wpDiscuz
 

Copyright © 2010-2017 | Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org