NAME

Prty::Array - Operationen auf Arrays

BASE CLASS

Prty::Object

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.