|
|||||||||||||||||||||||||||
"Frank Nørvig" <sslug@sslug> writes:
>> Nej, ikke i perl5.
>
> Hvad med Exists, kan man ikke benytte den på en eller anden måde?
exists fortæller om en nøgle findes i en hash. Man kunne implementerer
en in-funktion således:
sub in {
my ($elem,@list) = @_;
my %hash;
$hash{$_}++ for @list;
return exists hash{$elem};
}
man kunne også skrive
sub in {
my ($elem,@list) = @_;
for (@list) {
return 1 if ($_ == $elem);
}
return 0;
}
Eller:
sub in {
my ($elem,@list) = @_;
return scalar grep { $_ == $elem } @list;
}
Den sidste er lidt fjollet, men den er let at inline hvis man hurtigt
lige skal bruge funktionen et enkelte sted og ikke gider at lave en
rigtig funktion.
--
Peter Makholm | We constantly have to keep in mind why natural
sslug@sslug | languages are good at what they're good at. And to
http://hacking.dk | never forget that Perl is a human language first,
| and a computer language second
|
||||||||||||||
|
||||||||||||||