如果我有三個整數變量並且想要找出哪一個是最大的一個(不僅是最大整數),例如,如果a是3,b是4並且c是5 ,我想知道c是最大的而不是給我返回一個5。如何做到這一點,或者我應該在陣列中使用perl找到最大值並記錄哪一個是它
use List::Util
$d = max($a,$b,$c);
if($d == $a){}
elsif($d == $b){}
else{}
如果我有三個整數變量並且想要找出哪一個是最大的一個(不僅是最大整數),例如,如果a是3,b是4並且c是5 ,我想知道c是最大的而不是給我返回一個5。如何做到這一點,或者我應該在陣列中使用perl找到最大值並記錄哪一個是它
use List::Util
$d = max($a,$b,$c);
if($d == $a){}
elsif($d == $b){}
else{}
的指標通過使用獨立的變量,你讓漂亮許多事情不可能。假設你正在使用數組。
my @a = (3,4,5);
my $max_idx = 0;
for my $idx (1..$#a) {
$max_idx = $idx
if $a[$idx] > $a[$max_idx];
}
say $max_idx;
say $a[$max_idx];
存儲該數組
循環在全球各項指標(提示:使用0..#$arrayName
結構)
保持,在單獨的2個變量中,$current_max_value
和$current_max_index
當您找到值比$current_max_value
時,將其存儲在$current_max_value
並保存當前指數$current_max_index
循環完成時,你發現你的最大元素($current_max_index
)
這是很容易使用PDL,即使是非常大的數據集。
#!/usr/bin/env perl
use strict;
use warnings;
use PDL;
my $pdl = pdl(3,4,5);
my (undef, $max, undef, $max_index) = $pdl->minmaximum;
print "Max: $max (at index $max_index)\n";