Hallo Robert,
MMA verlangt bei Evaluation von Part[] bzw. [[]] immer ein integer,
weiters muss das betreffende element bereits exixtieren.
Der tiefere Grund hierführ ??????
Ist diese Frage ernst gemeint? Es steht geschrieben
expr[[i]] or Part[expr, i] gives the i-th part of expr.
das bedeutet,
- dass nichtexistierende Teile eines Ausdrucks nicht abgerufen werden
können (das ist recht praktisch, denn die nichtexistierenden Teile eines
Ausdrucks _sind_ (dieses "sind" bedeutet genuines heideggern) sehr viel
zahlreicher als die existierenden Teile) und
- dass die (existierenden) Teile eines Ausdrucks mit 0 und den natürlichen
Zahlen nummeriert werden.
Letzteres ist nicht zwingend, aber üblich auf Rechnern, z.B. die Sprache C
gibt bei der Allozierung von 2 bytes eine Adresse void *p zurück, an der
sich das erste erhaltene byte befindet. Das andere byte findet man unter p
+ 1, in einem Array ist p[0] das erste byte und p[1] das zweite.
Wenn man nicht genau weiss, welche Teilausdrücke man beziehen will, gibt
es noch metaphysiche Funktionen wie Head[], First[], Rest[], Last[],
Most[], All und None, sie erübrigen die Indizierung.
Nun können Sie wohl sagen
Range[19][[All]],
jedoch nicht
Range[19][[None]],
letzteres könnte im weitesten Sinne als
Welt \ Range[19] (* sprich: "Die Welt mit Ausnahme von Range[19]" *)
angesehen werden - da alle noch am Streiten sind, was "die Welt" ist,
kommt zu Recht eine Fehlermeldung.
Gruss & Sorry
Udo.