伦敦Perl和Raku研讨会于2024年10月26日举行。如果您的公司依赖Perl,请考虑赞助和/或参加.

名称

比较器-可重复使用的比较器子例程

规范版本

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=比较器

提交错误或请求时,请在现有测试文件中包含一个测试文件或补丁,说明错误或所需功能。