Array :: APX

ARRAY-programmeerextensies
Download nu

Array :: APX Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Dr. Bernd Ulmann
  • Uitgever website:
  • http://search.cpan.org/~vaxman/

Array :: APX Tags


Array :: APX Beschrijving

Array :: APX is een Perl module die Perl-5 zich met een aantal elementaire functies vaak gevonden in de reeks programmeertalen zoals APL, Lang5 enz. Het is eigenlijk een wrapper van Array :: Deeputils en overbelasting nogal een aantal fundamentele Perl exploitanten op een manier die maakt een eenvoudige manipulatie van geneste datastructuren. Deze gegevens structuren zijn in principe gezegend n-dimensionale arrays die op een manier die vergelijkbaar is met APL of Lang5.A mooi voorbeeld kan worden behandeld is de berekening van een lijst van priemgetallen met behulp van een archetypische APL oplossing. Het basisidee is: Een buitenste product van twee vectoren . De resulterende matrix worden geen priemgetallen bevat omdat elk getal is van ten minste twee gehele getallen. vervolgens controleren elk nummer in de oorspronkelijke vector of het lid van deze matrix. Zo niet, dan moet het een priemgetal. De ingestelde theoretische methode '' terug een selectievector bestaande uit 0 en 1 waarden die kunnen worden gebruikt in een tweede stap om alleen de belangrijkste waarden uit de oorspronkelijke vector te selecteren. Met behulp van Array :: APX dit kan worden geschreven in Perl, zoals deze: use strict; gebruik waarschuwingen; gebruik Array :: APX qw (: all); Mijn $ f = sub {$ _ * $ _ }; # We hebben een buitenste product mijn $ x; print $ x-> selecteer (($ x = iota (199) + 2) -> in ($ x | $ f | $ x)!); Hoe werkt dit? Eerst een vector wordt gemaakt: $ x = iota (99) + 2Dit vector wordt vervolgens gebruikt om een buitenste product te maken (in feite een vermenigvuldiging tafel zonder de 1-kolom / rij: my $ f = sub {$ _ * $ _ }; # We hebben een buitenste product ... $ x | $ f | $ x ... de | -operator wordt hier gebruikt als de gegeneraliseerde buitenste-'product' -operator (indien toegepast op twee APX datastructuren zou optreden als binair of bitsgewijze) - verwacht een functieverwijzing als $ f in het bovenstaande voorbeeld is dus mogelijk om uiterlijke 'producten' te creëren -. niet noodzakelijkerwijs op vermenigvuldigen . gebruik van een vector opgeslagen in $ x en deze tweedimensionale matrix, de in-methode wordt gebruikt om een logische vector die een 1 bevat op elke plaats die correspondeert met een element aan de linker kant leiden operand die is opgenomen in de rechter operand . deze booleaanse vector wordt vervolgens omgekeerd met de overbelaste -operator: ($ x = iota (99) + 2) -> in ($ x | f $ | $ x) de select-werkwijze deze boolean vector wordt gebruikt voor het! selecteert de corresponderende elementen t o plaatsen gemarkeerd met 1 van de oorspronkelijke vector $ x hetgeen aldus een vector van priemgetallen tussen 2 en 100: print $ x-> selecteer (($ x = iota (199) + 2) -> in ($ x | $ f | $ X)); SYNOPSIS use strict; gebruik waarschuwingen; gebruik Array :: APX qw (: all); # Maak twee vectoren en : my $ x = iota (3); mijn $ y = iota (3) + 3; afdrukken "De eerste vector is $ x"; afgedrukt "De tweede vector is $ y \ n"; # Voeg deze vectoren en print het resultaat: print 'De som van deze twee vectoren is', $ x + $ y, "\ n"; # Maak een functie te vermenigvuldigen twee waarden: my $ f = sub {$ _ * $ _ }; # Maak een buitenste product en afdrukken: print "De buitenste product van deze twee vectoren is \ n", $ x | $ f | $ Y; levert de eerste vector is De tweede vector De som van deze twee vectoren De buitenste product van deze twee vectoren ] productomschrijving homepage


Array :: APX Gerelateerde software