Thread Durch sub-array loopen (10 answers)
Opened by Student87 at 2013-02-08 15:36

pq
 2013-02-09 21:33
#165689 #165689
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2013-02-09T18:21:52 topeg
Korrekt.

Wobei zu beachten ist:
In Perl5 ist so was ein Fehler: @array[2]

nein, das ist kein fehler, mit warnings wirst du aber gewarnt, weil du eben nur ein element haben willst und vermutlich $ statt @ verwenden wolltest.

Quote
Da du Perl sagst: Gib mir aus "array" ein Array zurück.

kein array, sondern ein slice.

Quote
Was in dem Fall nicht möglich ist, da du nur ein Element angibst,

möglich ist es. ein slice von einem element ist völlig legitim.

beispiel:
Code: (dl )
1
2
3
4
5
$ perl -wE' my @a = 0..5; my @b = 3; say @a[@b]'
3
$ perl -wE' my @a = 0..5; my @b = 3; say @a[3]'
Scalar value @a[3] better written as $a[3] at -e line 1.
3


der punkt ist, beim ersten beispiel willst du offensichtlich ein slice mit *möglicherweise* mehreren elementen. keine warnung.
beim zweiten schreibst du explizit nur ein element hin, daher die warnung.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Durch sub-array loopen