Thread Bitte um Hilfe bei bless Fehler (39 answers)
Opened by bianca at 2019-09-28 17:06

rosti
 2019-10-02 10:29
#190608 #190608
User since
2011-03-19
3492 Artikel
BenutzerIn
[Homepage]
user image
Anonyme Funktionen sind auch nichts OOP-spezifisches. Es ist nur so, daß OOP den Umgang damit erleichtert (wie mit allem). Etwas weiter ausgeholt: Es gibt das Modul UNIVERSAL, das ist eine Klasse von der JEDE Klasse erbt. Also auch die Methode can. Was man damit machen kann siehe untenstehend:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
sub puts{
    use bytes;
    local $, = "\n";
    local $\ = "\n";
    print @_;
}

my $m = bless{}; # eine Instanz der aktuellen package
my $code = $m->can('puts');
$code->(1,2,3); # Ausgabe 1 2 3


Wesentlich ist: can() liefert eine Codereferenz. Man kann als einmal prüfen ob es eine Methode namentlich gibt und zum Anderen den Code einer benamsten Funktion in andere Namensräume verpflanzen ohne Namen-Konflikte auszulösen. Das ist eine sehr praktische Angelegenheit in OOP.


.
Last edited: 2019-10-02 10:42:00 +0200 (CEST)

View full thread Bitte um Hilfe bei bless Fehler