因爲我找不到一個方便的方法來檢查$str
是否在@array
,我試圖自己做一個,但它不工作。如何將一個數組和一個字符串作爲參數傳遞給函數?
我想這是因爲數組和字符串的混淆。它一直給0
至$str
。請讓我知道如何解決它。
use 5.010;
use strict;
use warnings;
sub ifin {
my (@array, $str) = @_;
for my $i (@array) {
if ($i eq $str) {
return 1;
}
}
return 0;
}
my @f = (1, 2, 3, 4);
my $k = 1;
print ifin(@f, $k);
你不能避開這個由輪交換的參數,然後將字符串中傳遞,然後再數組? – andrewsi
從[官方Perl常見問題解答](http://faq.perl.org):[如何判斷某個元素是否包含在列表或數組中?](http://learn.perl.org/faq /perlfaq4.html#How-can-I-tell-whether-a-certain-element-is-contained-in-a-list-or-array-) – daxim
以前在堆棧溢出:http://stackoverflow.com/ question/720482/how-can-i-verify-that-a-value-is-present-in-an-array-list-in-perl http://stackoverflow.com/questions/4571046/perl-how-to -check-if-any-integers-in-a-list-of-integers-is-in-an-an-array http:// stackoverflow。com/questions/6942082 /更快的方式檢查數組元素 – daxim