NAME
Prty::Array - Operationen auf Arrays
BASE CLASS
DESCRIPTION
Ein Objekt der Klasse repräsentiert ein Array.
METHODS
Konstruktor
new() - Konstruktor
Synopsis
$arr = $class->new;
$arr = $class->new(\@arr);
Description
Instantiiere ein Array-Objekt und liefere eine Referenz auf dieses Objekt zurück. Ohne Angabe einer Array-Referenz wird ein leeres Array-Objekt instantiiert.
Objekt- und Klassenmethoden
Jede der folgenden Methode kann sowohl auf ein Objekt der Klasse als auch per Aufruf als Klassenmethode auf ein "normales" Perl-Array angewendet werden.
Aufruf als Objektmethode:
$arr->$meth(...);
Aufruf als Klassenmethode:
$class->$meth(\@arr, ...);
extractKeyVal() - Extrahiere Paar, liefere Wert
Synopsis
$val = $arr->extractKeyVal($key);
$val = $class->extractKeyVal(\@arr,$key);
Description
Durchsuche @arr paarweise nach Element $key und liefere das folgende Element $val. Beide Elemente werden aus @arr entfernt. Kommt $key in @arr nicht vor, liefere undef und lasse @arr unverändert. Vergleichsoperator ist eq.
findPairValue() - Liefere Wert zu Schlüssel
Synopsis
$val = $arr->findPairValue($key);
$val = $class->findPairValue(\@arr,$key);
Description
Durchsuche $arr paarweise nach Element $key. Kommt es vor, liefere dessen Wert. Kommt es nicht vor, liefere undef. Vergleichsoperator ist eq.
Returns
Wert oder undef
index() - Suche Element
Synopsis
$i = $arr->index($val);
$i = $class->index(\@arr,$val);
Description
Durchsuche @arr vom Anfang her nach Element $val und liefere dessen Index zurück. Kommt $str in @arr nicht vor, liefere -1. Vergleichsoperator ist eq.
last() - Liefere letztes Element
Synopsis
$e = $arr->last;
$e = $class->last(\@arr);
maxLength() - Länge des längsten Elements
Synopsis
$l = $arr->maxLength;
$l = $class>maxLength(\@arr);
Description
Ermittele die Länge des längsten Arrayelements und liefere diese zurück.
select() - Selektiere Array-Elemente
Synopsis
$arr2|@arr2 = $arr->select($test);
$arr2|@arr2 = $class->select(\@arr,$test);
Description
Wende Test $test auf alle Arrayelemente an und liefere ein Array mit den Elementen zurück, die den Test erfüllen.
Folgende Arten von Tests sind möglich:
- Regex qr/REGEX/
-
Wende Regex-Test auf jedes Element an.
- Code-Referenz sub { CODE }
-
Wende Subroutine-Test auf jedes Element an. Als erster Parameter wird das zu testende Element übergeben. Die Subroutine muss einen boolschen Wert liefern.
shuffle() - Verwürfele Array-Elemente
Synopsis
$arr->shuffle;
$arr->shuffle($factor);
$class->shuffle(\@arr);
$class->shuffle(\@arr,$factor);
Description
Mische die Elemente des Array @array, d.h. bringe sie in eine zufällige Reihenfolge.
Die Methode liefert keinen Wert zurück.
Arguments
- @array
-
Das zu mischende Array. Die Operation wird in-place ausgeführt.
- $factor (Default: 100)
-
Faktor für die Anzahl der Vertauschungsoperationen. Es werden Arraygröße * $factor Vertauschungsoperationen ausgeführt.
sort() - Sortiere Elemente alphanumerisch
Synopsis
$arr | @arr = $arr->sort;
$arr | @arr = $class->sort(\@arr);
Description
Sortiere die Elemente des Array alphanumerisch.
Im Skalar-Kontext sortiere die Elemente "in place" und liefere die Array-Referenz zurück (Method-Chaining).
Im List-Kontext liefere die Elemente sortiert zurück, ohne den Inhalt des Array zu verändern.
Numerische Operationen
gcd() - Größter gemeinsamer Teiler
Synopsis
$gcd = $arr->%METHOD;
$gcd = $class->gcd(\@arr);
Description
Berechne den größten gemeinsamen Teiler (greatest common divisor) der natürlichen Zahlen in Array @$arr bzw. @arr und liefere diesen zurück. Ist das Array leer, wird undef
geliefert. Enthält das Array nur ein Element, wird dessen Wert geliefert.
min() - Ermittele numerisches Minimum
Synopsis
$min = $arr->min;
$min = $class->min(\@arr);
Description
Ermittele die kleinste Zahl und liefere diese zurück. Enthält $arr keine Elemente, liefere undef.
max() - Ermittele numerisches Maximum
Synopsis
$max = $arr->max;
$max = $class->max(\@arr);
Description
Ermittele die größte Zahl und liefere diese zurück. Enthält $arr keine Elemente, liefere undef.
minMax() - Ermittele numerisches Minimum und Maximum
Synopsis
($min,$max) = $arr->minMax;
($min,$max) = $class->minMax(\@arr);
Description
Ermittele die kleinste und die größte Zahl und liefere die beiden Werte zurück. Enthält $arr keine Elemente, wird jeweils undef
geliefert.
meanValue() - Berechne Mittelwert
Synopsis
$x = $arr->meanValue;
$x = $class->meanValue(\@arr);
Description
Berechne das Arithmetische Mittel und liefere dieses zurück. Enthält $arr keine Elemente, liefere undef.
standardDeviation() - Berechne Standardabweichung
Synopsis
$x = $arr->standardDeviation;
$x = $class->standardDeviation(\@arr);
Description
Berechne die Standardabweichung und liefere diese zurück. Enthält $arr keine Elemente, liefere undef.
variance() - Berechne Varianz
Synopsis
$x = $arr->variance;
$x = $class->variance(\@arr);
Description
Berechne die Varianz und liefere diese zurück. Enthält das Array keine Elemente, liefere undef.
median() - Ermittele den Median
Synopsis
$x = $arr->median;
$x = $class->median(\@arr);
Description
Ermittele den Median und liefere diesen zurück. Enthält das Array keine Elemente, liefere undef.
VERSION
1.100
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2016 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.