Array :: APX.

Array-Programmierverlängerungen
Jetzt downloaden

Array :: APX. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Dr. Bernd Ulmann
  • Website des Verlags:
  • http://search.cpan.org/~vaxman/

Array :: APX. Stichworte


Array :: APX. Beschreibung

Array :: APX ist ein Perl-Modul, das Perl-5 mit einigen grundlegenden Funktionen erweitert, mit einigen grundlegenden Funktionen, die in Array-Programmiersprachen wie APL, LANG5 usw. üblich ist. Es ist im Wesentlichen ein Wrapper von Array :: TEPUTILS und Überlastungen ganz einige grundlegende Perl-Bediener Ermöglicht eine einfache Manipulation verschachtelter Datenstrukturen. Diese Datenstrukturen sind grundsätzlich gesegnete n-dimensionale Arrays, die auf eine ähnliche Weise wie APL oder LANG5 behandelt werden können. Ein schönes Beispiel ist die Berechnung einer Liste der Primzahlen mit einer archetypischen APL-Lösung. Die Grundidee ist dies: Erstellen Sie ein äußeres Produkt von zwei Vektoren . Die resultierende Matrix enthält keine Primzahlen, da jede Zahl das Produkt von mindestens zwei Ganzzahlen ist. Dann prüfen Sie dann auf jeder Nummer im ursprünglichen Vektor , wenn es sich um ein Mitglied dieser Matrix handelt. Wenn nicht, muss es eine Primzahl sein. Das eingestellte theoretische Verfahren "in" gibt einen Auswahlvektor zurück, der aus 0 und 1-Werten besteht, die in einem zweiten Schritt verwendet werden können, um nur die Hauptwerte aus dem ursprünglichen Vektor auszuwählen. Verwenden von Array :: APX Dies kann in Perl wie dieses geschrieben werden: Verwenden Sie streng; Warnungen verwenden; Verwenden Sie Array :: APX QW (: ALL); mein $ f = sub {$ _ * $ _ }; # Wir brauchen ein äußeres Produkt, das mein $ x; drucken $ x-> Wählen Sie (! ($ X = IOTA (199) + 2) -> in ($ x | $ f | $ x)); Wie funktioniert das? Zuerst wird ein Vektor erstellt: $ x = iOTA (99) + 2Das Vektor wird dann verwendet, um ein äußeres Produkt zu erstellen (im Wesentlichen eine Multiplikationstabelle ohne 1-Spalte / Zeile: My $ f = Sub {$ _ * $ _ }; # Wir brauchen ein äußeres Produkt ... $ x | $ f | $ x ... Der | -Operator wird hier als generalisiertes äußeres'Produkt 'verwendet -Operator (wenn es auf zwei APX-Datenstrukturen angewendet wird, würde es als bitweise binär oder) dienen - er erwartet eine Funktionsreferenz wie $ f in dem obigen Beispiel. Daher ist es möglich, alle äußeren "Produkte" - nicht unbedingt auf Multiplikation basierend auf der Grundlage der Multiplikation zu erstellen nur. Verwendung des in $ X gespeicherten Vektors und dieser zweidimensionalen Matrix wird das In-Verfahren verwendet, um einen booleschen Vektor abzuleiten, der an jedem Ort 1 enthält, der einem Element auf dem linken Operanden entspricht, der im rechten Operanden enthalten ist . Dieser boolesche Vektor wird dann mit dem überlasteten! -Operator invertiert :! ($ X = IOTA (99) + 2) -> in ($ x | $ f | $ x) Verwenden der Auswahlmethode Dieser boolesche Vektor wird verwendet Wählen Sie die Elemente entsprechend t aus o Orte, die mit 1 aus dem ursprünglichen Vektor $ x gekennzeichnet sind, wodurch ein Vektor von Primzahlen zwischen 2 und 100: $ X-> Auswählen (! ($ x = IOTA (199) + 2) -> in ($ x | $ | f | $ x)); Synopsis verwenden streng; Warnungen verwenden; Verwenden Sie Array :: APX QW (: ALL); # Erstellen Sie zwei Vektoren und : My $ X = IOTA (3); meine $ y = iota (3) + 3; drucken "Der erste Vektor ist $ x"; drucken "Der zweite Vektor ist $ y \ n"; # Fügen Sie diese Vektoren hinzu und drucken Sie das Ergebnis: drucken Sie 'Die Summe dieser beiden Vektoren lautet', $ x + $ y, \ n '; # Erstellen Sie eine Funktion, um zwei Werte zu multiplizieren: mein $ f = sub {$ _ * $ _ }; # Erstellen Sie ein äußeres Produkt und drucken Sie: Drucken Sie "Das äußere Produkt dieser beiden Vektoren ist \ n", $ x | $ f | $ y; Erträge Der erste Vektor ist Der zweite Vektor ist Die Summe dieser beiden Vektoren ist Das äußere Produkt dieser beiden Vektoren ist ] Homepage des Produkts


Array :: APX. Zugehörige Software