gpt4 book ai didi

perl - 为什么版本排序顺序颠倒了?

转载 作者:行者123 更新时间:2023-12-01 12:13:19 25 4
gpt4 key购买 nike

我有以下代码来对版本号进行排序:

chomp(my @versions = <>);  
my @sorted_versions = sort {
version->parse( $a ) cmp version->parse( $b )
} @versions;
print "$_\n" for @sorted_versions;

如果我通过管道传输以下文件:

cat version_file   
15.8
15.8.1

输出是:

15.8.1  
15.8

为什么?应该是:

15.8  
15.8.1

我已经检查过 cmp 在运行脚本时返回 1

最佳答案

documentation for version有这个

Dotted-decimal: bare v-strings (v1.2.3) and strings with more than one decimal point and a leading 'v' ("v1.2.3"); NOTE you can technically use a v-string or strings with a leading-v and only one decimal point (v1.2 or "v1.2"), but you will confuse both yourself and others

问题是 15.8 解析为 v5.800.015.8.1 变成了 v15.8.1

您可以在 version::Internals 阅读更多相关信息

关于perl - 为什么版本排序顺序颠倒了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50199095/

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