8 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use strict; use warnings; use Tk; ... my $mainw = new MainWindow(-title => "TK Scrip-Starter"); ... # create buttons my @btn; for (my $i = 0; $i < @subs; $i++) { print "--> $subs[$i]\n"; $btn[$i] = $mainw->Button(-text => 'sub "'.$subs[$i].'" ('.$i.')', -anchor => 'w', -command => sub { print "-".$subs[$i]."-".$i."\n"; }, ) ->pack(); } # for ... MainLoop;
for my $i (0 .. $#subs){
-command => eval 'sub {print -'.$subs[$i].'-'.$i."\n"; }",
lichtkind+2007-11-18 22:42:58--natürlich zu allererst bitte benutze die kürzere und elegantere schlefenform
Code (perl): (dl )for my $i (0 .. $#subs){
lichtkind+2007-11-18 22:42:58--Code (perl): (dl )for my $i (0 .. $#subs){
for my $i (0 .. @subs){
lichtkind+2007-11-18 22:42:58--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.
my $j = $i;
Hagen+2007-11-19 10:13:39--
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use strict; use warnings; my @liste = (0..10); my $anzahl = @liste; my $last_index = $#liste; print qq~ Anzahl der Elemente: $anzahl Index letztes Element: $last_index ======================== ~; for( 0..$anzahl ){ print 'Element bei 0..$anzahl: ', $liste[$_]," (Index: $_)\n"; } for( 0..$last_index ){ print 'Element bei 0..$anzahl: ', $liste[$_]," (Index: $_)\n"; }
8 Einträge, 1 Seite |