Thread Button dyn. mit Array erzeugen
(7 answers)
Opened by Hagen at 2007-11-18 23:23
natürlich zu allererst bitte benutze die kürzere und elegantere schleifenform
Code (perl): (dl
)
for my $i (0 .. $#subs){ und dann bedenke bitte das wenn der knopf gedrückt wird die schleife schon lange durchgelaufen ist also $i dann einen wert hat den er nach abarbeitung der schleife hatte. mit den label gibt es kein problem da die beim schleifendurchlauf evaluiert werden aber die coderef die du mit der anonymen sub erstellst wird ja erst später ausgewertet. um dein problem zu lösen fallen mir 2 möglichkeiten ein. 1. du erstellt im schleifenblock eine lokale variable, eine closure, die weiterhin den benötigten wert behält. oder du evaluierst den inhalt der sub mit den werten vom aktuellen $i. klingt vielleicht etwas umständlich aber ich meine sowas wie: Code (perl): (dl
)
-command => eval 'sub {print -'.$subs[$i].'-'.$i."\n"; }", ist jetzt ungetestet also kan sein das da ne referenz fehlt, aber auf die art mach ich es in meinem editor auch an einigen stellen. ![]() kephra, baumhaus, garten, gezwitscher Es beginnt immer mit einer Entscheidung. |