gpt4 book ai didi

perl - Perl 中的排序函数

转载 作者:行者123 更新时间:2023-12-03 18:07:23 26 4
gpt4 key购买 nike

考虑:

use warnings;

my @a = (1, 11, 3, 5, 21, 9, 10);

my @b = sort @a;

print "@b";

Output: 1 10 11 21 3 5 9


键盘链接: http://codepad.org/Fvhcf3eP
我猜 sort函数不将数组的元素作为整数。这就是为什么输出不是:

1 3 5 9 10 11 21


是吗?
我怎样才能得到上面的结果作为输出?

最佳答案

Perl 的 sort 的默认实现功能是将值排序为字符串。要执行数字排序:

my @a = sort {$a <=> $b} @b;

链接页面显示了如何不区分大小写、以相反顺序(降序)等进行排序的其他示例。

您可以创建显式子例程以防止重复:
sub byord { $a <=> $b };
...
@a = sort byord @b;

这在功能上等同于使用匿名子例程的第一个示例。

关于perl - Perl 中的排序函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6454744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com