Packages / openSUSE Leap 15.6 / Unspecified / perl-Struct-Dumb
[Source: perl-Struct-Dumb]
Package: perl-Struct-Dumb (0.14-bp156.1.1)
[Project overview: perl-struct-dumb]
Einfache, leichtgewichtige record-ähnliche Strukturen erzeugen
'Struct::Dumb' erzeugt record-ähnliche Strukturtypen, vergleichbar mit dem Schlüsselwort 'struct' in C, C++ oder C# bzw. 'Record' in Pascal. Ein Aufruf dieses Moduls erzeugt eine Konstruktorfunktion, die neue Objektreferenzen mit den angegebenen Feldwerten zurückgibt. Diese Referenzen reagieren alle auf Lvalue-Methoden, die die gespeicherten Werte lesen oder ändern.
Es ist ausdrücklich und absichtlich keine Objektklasse. Man kann sie nicht ableiten. Man kann keine zusätzlichen Methoden bereitstellen. Man kann keine Roles, Mixins, Metaklassen, Traits, Geweihstangen oder was sonst gerade in Mode ist anwenden.
Andererseits ist es winzig, erzeugt günstige, leichtgewichtige, array-basierte Strukturen und nutzt nichts außerhalb des Cores. Es soll einfach eine etwas angenehmere Art sein, Datenstrukturen zu speichern, wo man sonst versucht sein könnte, einen Hash zu missbrauchen – inklusive dem Risiko, Schlüsselnamen zu vertippen. Der Konstruktor wird mit 'croak' abbrechen, wenn die falsche Anzahl Argumente übergeben wird; ebenso Zugriffe auf nicht existierende Felder. Accessor-Mutatoren werden mit 'croak' abbrechen, wenn sie mit Argumenten aufgerufen werden. (Das hilft, wahrscheinliche Fehler zu erkennen, etwa das versehentliche Übergeben des neuen Werts als Argument oder den Versuch, eine gespeicherte 'CODE'-Referenz aufzurufen, indem Argumentwerte direkt an den Accessor übergeben werden.)
$ perl -E 'use Struct::Dumb; struct Point => [qw( x y )]; Point(30)'
usage: main::Point($x, $y) at -e line 1
$ perl -E 'use Struct::Dumb; struct Point => [qw( x y )]; Point(10,20)->z'
main::Point does not have a 'z' field at -e line 1
$ perl -E 'use Struct::Dumb; struct Point => [qw( x y )]; Point(1,2)->x(3)'
main::Point->x invoked with arguments at -e line 1.
Objekte dieser Klasse sind (derzeit) durch einen ARRAY-Referenz-Speicher hinterlegt, obwohl dies ein internes Implementierungsdetail ist und vom verwendeten Code nicht darauf vertraut werden sollte. Der Versuch, das Objekt als ARRAY zu dereferenzieren, löst eine Ausnahme aus.
_Hinweis_: Auf Entwicklungs-Perls, die 'use feature 'class'' unterstützen, wird dies statt einer gesegneten ARRAY-Referenz verwendet. Diese Implementierungswahl sollte für den Endbenutzer transparent sein, da dieselben Funktionen unterstützt werden.
Other Packages Related to perl-Struct-Dumb:
Download perl-Struct-Dumb
| Architecture | Package Size | Installed Size | Files |
|---|
| noarch | 30 KiB | 45 KiB | [list of files] |
Paketdateipfade (8)
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
- /usr/lib/perl5/vendor_perl/5.26.1/Struct
- /usr/lib/perl5/vendor_perl/5.26.1/Struct/Dumb.pm
- /usr/share/doc/packages/perl-Struct-Dumb
- /usr/share/doc/packages/perl-Struct-Dumb/Changes
- /usr/share/doc/packages/perl-Struct-Dumb/README
- /usr/share/licenses/perl-Struct-Dumb
- /usr/share/licenses/perl-Struct-Dumb/LICENSE
- /usr/share/man/man3/Struct::Dumb.3pm.gz
Field source: openSUSE Leap 15.6 OSS revision leap-15-6-oss-multiarch:ca2653101b9afba6656aea529109ba0c0f1ca1a92aa8614e7c887fda5264c230