The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prty::Array - Array-Klasse

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);

Returns

Wert oder undef

Description

Durchsuche $arr paarweise nach Element $key. Kommt es vor, liefere dessen Wert. Kommt es nicht vor, liefere undef. Vergleichsoperator ist eq.

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.

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);

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.

Description

Mische die Elemente des Array @array, d.h. bringe sie in eine zufällige Reihenfolge.

Die Methode liefert keinen Wert zurück.

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.084

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.