Thread Instanzmethode von pkg A in pkg B mit Objekt von A aufrufen
(16 answers)
Opened by styx-cc at 2017-08-03 23:30
Hier gehts wohl eher um die Anwendung von Callbackfunktionen. Die Referenz auf die Callbackfunktion würde ich aber gleich im Konstruktor übergeben wg. der Übersicht.
Beispiel: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 package Helper; sub new{ my $class = shift; my %cfg = ( callback => undef, @_); # Callbackfunktion als Aggregat return bless{ callback => $cfg{callback} }, $class; } sub run{ my $self = shift; foreach my $label( qw(Anton Berta Cäsar Dora Emil) ){ # Callbackfunkton aufrufen # Keine Übergabe der Instanz # Übergeben werden nur die Daten $self->{callback}->($label); } } package main; # Funktionsreferenz my $callback = sub{ state $cnt = 0; print ++$cnt.": @_\n"; }; # eigene Instanz, Helper-Instanz als Aggregat my $main = bless{ HELPER => Helper->new(callback => $callback), }; # Delegation $main->{HELPER}->run; __END__ 1: Anton 2: Berta 3: Cäsar 4: Dora 5: Emil Last edited: 2017-08-05 08:13:11 +0200 (CEST) |