|
|||||||||||||||||||||||||||
"Frank Nørvig" <sslug@sslug> writes:
> Det er vist lidt over mit niveau endnu, men tak for hjælpen alligevel :)
Det er ret enkelt, så lad mig forklare:
>> sub in {
>> my ($elem,@list) = @_;
>>
>> my %hash;
Dette skulle være rimelig standard.
>> $hash{$_}++ for @list;
Dette er en kort skriveform for:
foreach $_ (@list) {
$hash{$_}++;
}
Det jeg gør er at jeg tæller $hash{'abe'} op en gang hver gang jeg
støder på den i listen. Hvis jeg ikke er stødt på den før så bliver
den sat til 1. Jeg kunne lige så godt have skrevet '$hash{$_} = 1'.
>> return exists hash{$elem};
Der skulle selvfølgelig stå $hash. Her spørger jeg simpelthen om
$hash{$elem} eksistere. Det gør den hvis den er blevet talt op mindst
en gang af det ovenstående.
>> }
--
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
|
||||||||||||||
|
||||||||||||||