Gå til innhold

Callback, hvordan implementere?


Anbefalte innlegg

Hepp.

 

Denna delen av forumet er jo temmelig dødt, men jeg tar allikevel sjangsen på at noen dukker opp med tips.

 

Har da, skal vi si, tre filer:

* Foo.pm

* xFoo.pl

* Bar.pm

 

xFoo.pl er da teste-klassen til Foo.pm, og importerer saker og ting ved 'use Foo;'.

 

Greit nok. I Foo er det da noen subrutiner som kalle funksjoner i Bar - men det blir feil, sånn rent objektorientert med fordeling av ansvar og innkapsling, å kalle disse funksjonene i Bar ifra Foo.

 

Så jeg ønsker å sende en callback-funksjon som parameter til Foo, ifra xFoo. Og at funksjonen i Foo da kaller denne callback'en...

 

Hvordan går jeg fram?

Er det bare å kjøre i vei med 'sub'?

 

Det er verd å nevne i denne forbindelse at vi snakker om (i Foo) en while-loop med 30.000 iterasjoner som går igjennom ca. 300MB med data. "Kluet" er da å kalle en print-out for hver 100 iterasjon, slik at minnet ikke roper på elgen over dårlig programmeringsskikk. ;)

 

EDIT:

Nevermind, fant svaret.

 

xFoo: func1(\&func2);

Foo: &{shift @_}();

Endret av DrDoogie
Lenke til kommentar
Videoannonse
Annonse
For referanse og generell interesse:

 

LWP::UserAgent har implementert en callback rutine for ->get og ->post etter et visst antall nedlastede byte, noe som gjør at man kan rapportere nedlastingshastighet.

Har en snikende mistanke om at godeste Torbjørn leser tankene mine. ;)

 

Anyway, fikk forresten ned basen nå. Men Gud, hvor det er rot i den!

Dog ikke like galt som freedb, som har over 25% rein dritt i seg.

 

Burde kanskje forsøkt å dratt igang Perl-delen av programmeringsforumet, for å veie opp for all PHP'en?

Endret av DrDoogie
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...