我没有意识到这个看起来很简单的问题会如此难以破解。
无论如何,我有一个包含 3 个浮点数的数组。我需要找出所有三个中最小的(在这种情况下是三个中最小的,我的实际代码将包含超过 3 个浮点数)
这是我的代码:
#!/usr/bin/perl -w
use strict;
use List::Util qw /min/;
my @array = ("2.7.4", "2.7.0", "2.7.0");
print min(@array);
输出:
Argument "2.7.4" isn't numeric in subroutine entry at min.pl line 6.
Argument "2.7.0" isn't numeric in subroutine entry at min.pl line 6.
Argument "2.7.0" isn't numeric in subroutine entry at min.pl line 6.
2.7.4
所以它抛出了很多错误以及输出数是错误的。
我拍摄的另一张照片是对数组 ( sort {$a <=> $b} @array
) 进行排序,然后找到最小的一个,但它再次未能完成这项工作。
我可以逐个进行比较,但如果数组中的元素数量超过三个,代码看起来会很糟糕。
你能帮忙吗。
谢谢。