名称
比较器-可重复使用的比较器子例程
规范版本
0.1
版本
本文档描述了于2024-01-23发布的Comparer 0.1.1版(来自Perl发行版Comparer)。
简介
基本:
使用比较器::自然;my$cmp=比较器::natural::gen_Comparer;my@sorted=sort{$cmp->($a,$b)}('track1.mp3','track10.mp3'、'track2.mp3'和'track1b.mp3'、'track1a.mp3');#=>('track1.mp3'、'track1a.mp3','trackb.mp3'、'track2.mp3'和'track10.mp3')
指定参数:
使用比较器::自然;my$cmp=比较器::naturally::gen_Comparer(reverse=>1);my@sorted=sort{$cmp->($a,$b)}。。。;
在命令行上指定比较器(对于其他CLI):
%customsort-c自然。。。%customsort-c自然=反向,1。。。
描述
实验。规格可能仍在更改。
词汇表
A类比较器是一个子程序,它接受两个要比较的项,并返回值-1/0/1。换句话说,就像Perl的化学机械抛光
或<=>
.
A类比较器模块是下的模块比较器:*
可用于生成比较器的命名空间。
编写比较器模块
包比较器::自然;#必需。必须返回哈希(DefHash)子元{返回+{v=>1,参数=>{反向=>{schema=>“bool*”,#Sah schema},},};}副发电机比较器{我的%args=@_;...}1;
命名空间组织
主页
请访问项目主页https://metacpan.org/release/Comparer网站.
来源
源存储库位于https://github.com/perlancar/perl-Comparer公司.
另请参阅
基本规格
DefHash
萨赫
分拣机
排序键
前世化身
排序::Sub
分拣机
,排序键
、和比较器
旨在最终取代Sort::Sub。对Sort::Sub的主要改进是将其拆分为三种子程序:
- 1.分拣机
-
接受要排序的项列表的子例程。
分拣机:*
模块用于生成分拣机。
- 2.排序密钥生成器
-
一个子程序,用于将项转换为适合使用进行简单比较的字符串/数字键等式
或==
在排序过程中。
排序键::*
模块用于生成排序密钥生成器。
- 3.比较器
-
比较两个项目的子例程。可用于排序()
作为自定义排序块。
比较器:*
模块用于生成比较器。
Perl的排序()
如上所述,允许我们指定比较器,但通常使用密钥生成器按密钥排序更有效,因为密钥通常会缓存在密钥生成器中。有时由于预处理和/或后处理,更适合使用更通用的分拣机接口。
除此之外,比较器
还生成Sort::Sub的特殊参数颠倒
和是(_ci)
成为普通的论点,因为它们并不总是适用于所有情况,尤其是是(_ci)
.
作者
珍珠岩<perlancar@cpan.org>
贡献
为了做出贡献,您可以通过电子邮件/通过RT发送补丁,或者在GitHub上发送请求。
大多数情况下,您不需要自己构建发行版。您只需修改代码,然后通过以下方式进行测试:
%证明-l
如果要构建分发版(例如,尝试在系统上本地安装),可以安装地区::Zilla,Dist::Zilla::PluginBundle::作者::PERLANCAR,播客::编织者::插件捆绑包::作者::PERLANCAR,有时还有一两个其他Dist::Zilla-和/或Pod::Weaver插件。除此之外所需的任何其他步骤都被视为错误,可以向我报告。
版权和许可
此软件的版权归perlancar所有(c)2024<perlancar@cpan.org>.
这是自由软件;您可以按照与Perl5编程语言系统本身相同的条款重新发布和/或修改它。
漏洞
请在bugtracker网站上报告任何bug或功能请求https://rt.cpan.org/Public/Dist/Display.html?Name=比较器
提交错误或请求时,请在现有测试文件中包含一个测试文件或补丁,说明错误或所需功能。