Thread Button dyn. mit Array erzeugen (7 answers)
Opened by Hagen at 2007-11-18 23:23

renee
 2007-11-19 11:27
#102554 #102554
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hagen+2007-11-19 10:13:39--

lichtkind+2007-11-18 22:42:58--
Code (perl): (dl )
for my $i (0 .. $#subs){


Könntest du/einer mir mal erklären was die Zeile genau macht bzw. warum das damit funktioniert? Ein
Code (perl): (dl )
for my $i (0 .. @subs){

würde ich verstehen.


0..$x erzeugt eine Liste mit den Zahlen von 0 bis (enschließlich) $x. Also würde aus 0..5 ein 0,1,2,3,4,5 werden. Dazu kannst Du einfach mal das hier machen:
Code (perl): (dl )
1
2
my @liste = (0..10);
print $_,"\n" for @liste;


@subs liefert im Skalaren Kontext die Anzahl der Elemente. Ein 0..$anzahl würde - wenn das Array 3 Elemente hat - folgendes liefern: 0,1,2,3. Das Array hat aber kein Element mit dem Index 3!

$#subs liefert den Index des letzten Elements. Ein 0..$last_index liefert also 0,1,2. Und das ist was Du willst. Zur Veranschaulichung kannst Du ja mal folgendes machen:

Code (perl): (dl )
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";
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Button dyn. mit Array erzeugen