SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Förstasida   Anmälning   Postarkiv   Forum   Kalender   Sök
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] not eq



"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


 
Förstasida   Anmälning   Postarkiv   Översikt   Kalender   Sök

 
 
Fel och synpunkter angående webb-sidorna skickas till <www_admin>. Senaste ändring 2005-08-10, klockan 19:55
Denna sidan underholds av MHonArc .