我正在寻找区分side_i和side_j之间的区别,以找到最小值……,然后……将最小和最大乘以给定的数字。
这很简单。但是,我仍然希望能够以这样的方式来区分i和j,以便我知道它们相乘之后是哪个。
到目前为止,这就是我所拥有的。请注意,我是Perl和常规编码的新用户:
use strict;
use Getopt::Long;
use List::Util qw(max);
use File::Find;
use warnings 'all';
my $side_i = 24.56;
my $side_j = 3.56;
my $maxi = 10;
my $maxj = 10;
my $threshold = 0.05;
my $small_side;
(my $sside, my $bside) = smallestTest($side_i, $side_j);
sub smallestTest{
my $sside;
my $bside;
print "$_[0] $_[1] /n";
if ($_[0]<$_[1]){
$sside = $_[0];
$bside = $_[1];
} else {
$sside = $_[1];
$bside = $_[0];
}
return($sside, $bside);
}
print "Biggest side is $bside /n";
my $newSide_i = $.....*20;
my $newSide_j = $.....*21;
我建议您使用哈希值%side
来包含值。然后$sside
和$bside
变量可以保持身份i
和j
最小的和最大的价值
在确定了哪个之后,您无需再解释要做什么,所以最后我的乘法可能相去甚远
use strict;
use warnings 'all';
my %side = ( i => 24.56, j => 3.56 );
my ($sside, $bside) = $side{i} < $side{j} ? qw/ i j / : qw/ j i /;
$side{$sside} *= 20;
$side{$bside} *= 21;
如果愿意,可以改用sort
哈希键排序。结果是相同的
my ($sside, $bside) = sort { $side{$a} <=> $side{$b} } keys %side;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句