Thread Frage zur for-Schleife (14 answers)
Opened by Gast at 2008-02-27 14:01

Gast Gast
 2008-02-27 14:01
#106424 #106424
Hallo liebe Leute,

ich muss euch heute leider auch mit einer Anfängerfrage belästigen!
Folgendes Programm liegt mir vor:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
my @array=(1,2,4,8,16,32,64,128);
my @wert_1=grep {
    my $a=$array[$_];
    my $sum;
    $sum+=$_ for split //, $a;
    print "\$sum=$sum\n";
    $sum %2;
  }
  0..$#array;

print "@wert_1\n";
my @wert_2=@array[@wert_1];
print "@wert_2\n";



Die erste Print-Anweisung gibt mir nacheinander 1,2,4,8,7,5,10,11 aus (wegen split-Befehl und anschl. Addition der einzelnen Zahlen)

Die zweite Print-Anweisung gibt mir 0 4 5 7 aus. Leuchtet mir auch noch ein, da für hier die Bedingung %2 für grep greift und sie o. g. Werte in @wert schreibt.

Die dritte Bedingung gibt 1 16 32 128 aus. Das sind die Werte an den Positionen 0 4 5 7 vom Array @array.

Also soweit komme ich gut zurecht. Mein Problem ist allerdings die for-Anweisung in Zeile 6. Ich kenne sie nur so, dass man in runden Klammern den Initialisierungsteil, Bedingungsteil und Re-Initialisierungsteil schreibt und anschließend in geschweiften Klammern den Anweisungsblock.
Nur speziell der Anweisungsblock fehlt doch hier, oder etwa nicht?? Ich komme mit der Schreibweise nicht so ganz klar!

Wäre nett, wenn mir einer genau erklären könnte wie ich die Zeile 6 verstehen soll.

Vielen Dank für eure Bemühungen,

Michael

/----
Modedit Gwendragon:
Code in Perl-Tags gestellt und lesbar eingerückt
----

View full thread Frage zur for-Schleife