Wie kann ich die ersten bis fünften vorletzten Array-Elemente in Perl drucken?
Ich bin mit dem folgenden code, und ich bin versucht zu drucken, das erste element in der @rainbow
array über die fünfte ein-aus-dem-letzten element in der @rainbow
array. Dieser code funktioniert für beliebige positive Indizes innerhalb der Grenzen des Arrays, aber nicht für negative Sachen:
@rainbow = ("a".."z");
@slice = @rainbow[1..-5];
print "@slice\n";
InformationsquelleAutor der Frage thenickname | 2010-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst
Vorsichtig sein, 1 ist das zweite element, nicht die erste.
InformationsquelleAutor der Antwort Chas. Owens
Den
..
operator bildet eine Bereich von Links nach rechts Wert - wenn Sie die Rechte ist größer oder gleich der linken Seite. Auch in Perl, die Indizierung von Arrays beginnt bei null.Wie über dieses?
$#array
gibt dir den index des letzten Elements im array.InformationsquelleAutor der Antwort martin clayton
Aus den ersten beiden Sätzen für die bereichsoperatordokumentiert in perlop:
Wenn der code nicht funktioniert, zerlegen es, um zu sehen, was passiert. Zum Beispiel, Sie würde versuchen, den range-operator, um zu sehen, was es produziert:
Wenn du eine leere Liste und erkannte, dass es etwas Los, dass Sie nicht verstehen, überprüfen Sie die Dokumentation für das, was Sie zu tun versuchen, um zu überprüfen, es zu tun, was Sie denken, Sie tun sollten. 🙂
InformationsquelleAutor der Antwort brian d foy