随手记一下

写了一点 Perl 代码,给数据排序的时候发现,其实下面这种写法挺啰嗦的,

@all = sort { $a->{groups} <=> $b->{groups} } @all;

相比之下,Python的写法如下,

all = sorted(all, key=lambda x: x["groups"])

Python 的写法,也不算很简洁,但好处在哪里呢?我觉得好处是,Python 的 sorted,通过指定「key」,让代码从操作性的变成了声明性的(或曰描述性的),通过声明,让背后的代码做具体工作,于是写起来更友好,而且稍微增加了一点可读性。

有个 Perl 模块 https://metacpan.org/pod/Sort::Key ,提供使用 key 排序的方法,而且支持多个 key,我觉得挺好的。不过,排个序还要 use 一个模块,未免复杂。

上一篇:windows下perl的安装和脚本的运行


下一篇:git 升级至v2.2.1