这段代码实际上做了什么?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