這段代碼實際上做了什麼?Perl的grep和map有什麼作用?
@array = ('hai','hello','bar','foo') ;
print grep (/hai/ , @array);
print grep ("hai",@array) ;
print map (/hai/ , @array);
print map ("hai",@array) ;
這段代碼實際上做了什麼?Perl的grep和map有什麼作用?
@array = ('hai','hello','bar','foo') ;
print grep (/hai/ , @array);
print grep ("hai",@array) ;
print map (/hai/ , @array);
print map ("hai",@array) ;
試試吧......
print grep (/hai/ , @array);
hai
# writes all elements from @array containing 'hai' in them
print grep ("hai",@array) ;
haihellobarfoo
# writes all elements, because "hai" evaluates to true
print map (/hai/ , @array);
1
# writes 1 for the only element from the @array, that contains 'hai'
print map ("hai",@array) ;
haihaihaihai
# maps 'hai' to each element from @array
我不明白這一點?爲什麼有人將這個問題投票? – 2010-10-14 08:09:03
也許他們有相同的家庭作業? ;) – 2010-10-14 16:13:53
我們在_Intermediate Perl_中介紹了這些內容,但您也可以在[perlfunc](http://perldoc.perl.org/perlfunc.html)中找到它們。 – 2010-10-14 19:54:10