gpt4 book ai didi

perl - 在perl中对间隔数组进行排序?

转载 作者:行者123 更新时间:2023-12-04 22:30:47 25 4
gpt4 key购买 nike

我在 perl 中有一个数组,其中有一些间隔,例如:

@array = qw(1-5 7-9 10-15 20-58 123-192 234-256)



我正在尝试使用 sort 对其进行排序,但这是我获得的:

1-5 , 10-15 , 123-192 , 20-58 , 234-256 , 7-9



它是按第一个数字的第一个字符排序...如何按第一个数字的整个排序以获得下一个数组?

1-5 , 7-9 , 10-15 , 20-58 , 123-192 , 234-256



非常感谢你!

附言

我没有这方面的代码,我正在尝试命令
my @sorted = sort @array;

最佳答案

您需要为每个元素提取第一个数字,并使用 <=> 运算符进行数值比较,

my @array = qw(1-5 7-9 10-15 20-58 123-192 234-256);
my @sorted = sort {
my ($aa,$bb) = map /^([0-9]+)/, $a,$b;

$aa <=> $bb;
} @array;

关于perl - 在perl中对间隔数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27089498/

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