Thread Array-Slice mit .. Aufzählung (5 answers)
Opened by GwenDragon at 2010-05-16 18:07

GwenDragon
 2010-05-16 18:07
#137137 #137137
User since
2005-01-17
14612 Artikel
Admin1
[Homepage]
user image
Ich bin gerade über folgendes gestolpert.
Keine Ahnung warum ich diese seltsame Idee hatte. Da fehlt mir wohl gerade ein starker Kaffee ;)
Aber ich bin sicher, so mancher Anfänger hätte gern eine Erklärung.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;

my @t = localtime(time);

#sollte Stunden, Minuten, Sekunden ausgeben
print @t[2-0], "\n";
print @t[2..0], "\n";
print "-------------------\n";
print @t[0-2], "\n";
print @t[0..2], "\n";


Zu kann @t[2-0] und @t[0-2] ich nur folgendes sagen:
Es ist zwar intuitiv das als von-bis zu denken, aber es ergibt keinen Slice, weil Perl 2-0 bzw. 0-2 als einen einzigen Index berechnet und somit keine "Reihe" von 2 bis 0 bzw. 0 bis 2 erzeugt.

Der Range operator ..
Warum aber 0..2 eine aufsteigende Reihe, 2..0 aber keine absteigende Reihe von Zahlen ergibt, weiß ich nicht. Ich nehme mal an, das absteigend einfach nicht implementiert ist.
Kann ja vielleicht jemand erklären.
Last edited: 2010-05-16 18:08:49 +0200 (CEST)

View full thread Array-Slice mit .. Aufzählung