11月
07
2011

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

更新于: 2012 九月 17

以下这些函数来自于 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/R by billzt

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

Subscribe
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

9 评论
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Puriney
2011 年 11 月 7 日 20:40

CPAN就是个海底捞,好多宝

Mucid
2011 年 11 月 7 日 21:09

貌似很优雅的说

freetstar
2011 年 11 月 13 日 13:27

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

frewise
frewise
2011 年 12 月 9 日 10:33

很方便啊

belter
belter
2012 年 7 月 27 日 13:26

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

9
0
Would love your thoughts, please comment.x
()
x
 

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