Sıralamada minimum değeri seçen perl kodum var, ancak bir değer 0 ise göz ardı edilmemelidir. Bu filtreleme fonksiyonu olarak sıralama:Perl süzgeçleme ile minimum değerleri sıralama
sub desc_Emin
{
my($emin)=(sort{$b<=>$a} @_)[-1];
return $emin;
}
Bu işlev olarak adlandırılır ve alır değerler: [o sıralama sonra
descs_a descs_b descs_c
1 4 5
0 1 3
0 0 0
2 2 0
: Örneğin
$desc_mv[$n]=desc_Emin($descs_a[$n],$descs_b[$n],$descs_c[$n]);
, listesi vardır $ desc_mv] şu gibi olmalıdır:
Çok sayıda "if" ifadesi eklemeden nasıl filtre uygulayabilirsiniz? Bölüm "... $ desc_mv [$ n] = desc_Emin (" içinde sıfırları filtrelemek için iyidir
My hızlı zamansal çözüm gibi görünür:?.
if($descs_a[$n] == $descs_b[$n] and $descs_b[$n] == $descs_c[$n]){
$desc_mv[$n]=$descs_a[$n];
}
else{
use Switch;
switch($descs_a[$n]){
case 0 {$descs_a[$n] = 99999999999999};
}
use Switch;
switch($descs_b[$n]){
case 0 {$descs_b[$n] = 99999999999999};
}
use Switch;
switch($descs_c[$n]){
case 0 {$descs_c[$n] = 99999999999999};
}
$desc_mv[$n]=desc_Emin($descs_a[$n],$descs_b[$n],$descs_c[$n]);
}
kullanmanız gereken bir şey bulmanız gerektiğinde 'grep/harita/''' '' '' ',' '' '' 'dır, –
@ OlegV.Volkov Ama sayısal değerlerim var, neden grep ve haritayı kullanmalıyım?' $ descs _a [1] 'zaten' 1' ve '$ descs_c [1]' '' dır. Kod benim tarafımdan yazılmadı - kullanıyorum ve bu hatayı düzeltmeye çalışıyorum. – XuMuK
Sorunu anlamıyorum. Bir şekilde 'grep' dizeleri için mi düşünüyorsun? Hayır değil. –