Thread Problem mit Variablendeklaration
(5 answers)
Opened by undef at 2010-02-18 15:29
Ich denke es gibt zwei saubere Lösungen für dieses Problem: Entweder man übergibt die Variable als Parameter oder man speichert sie implizit in einer Closure.
Hier ein Beispiel für den zweiten Ansatz, das so wie ich die Frage verstanden habe auf Deinen konkreten Fall anwendbar sein müsste: 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 use 5.010; use strict; use warnings; sub callback_host(&) { my ($thunk) = @_; say "In callback host, knowing nothing about blafus"; $thunk->(); } sub callback($) { my ($blafu) = @_; say "In callback, got the blafu '$blafu'"; } my @blafus = qw/hallo ich peter/; for my $blafu (@blafus) { say "In loop, current blafu '$blafu'"; callback_host { callback($blafu) } } When C++ is your hammer, every problem looks like your thumb.
|