Hallo,
Muss ich wirklich immer erst ein Array definieren, bevor ich auf die einzelnen Werte zugreifen kann?
Ja, leider. Eine Schwäche in der Implementierung.
Wieso sollte das ein Schwäche darstellen? Das ist doch so gewollt!
wenn es so gewollt ist, wäre es eine künstliche Einschränkung der Syntax von Ausdrücken. Ich denke eher, es hat sich bei der Implementierung einfach so ergeben, ist nicht sofort aufgefallen, und später hat man dann gesagt, "komm, is' nich schlimm, bleibt so".
Nicht schön, aber bekannt (im Sinne von "dokumentiert").
Wie würdest Du das implementieren?
Ich würde einen Parser so entwerfen, dass er beliebige Ausdrücke in beliebiger Verkettung und/oder Verschachtelung bearbeiten kann, wobei "beliebig" seine Grenzen im zur Verfügung stehenden Speicher hat (Stack). Ein Array oder Objekt als Zwischenergebnis muss dann halt auch mal temporär auf dem Stack zwischengelagert werden. Wie gesagt: Solange genug Speicher zur Verfügung steht.
Btw: man kann auch list() nutzen, um Im Arraykontext einzelnen Variablen Werte zuzuweisen
Man kann damit sogar gezielt auf *einzelne* Arrayelemente zugreifen, indem man die nicht benötigten Plätze in der Variablenliste leer lässt. Allerdings versagt list() bei Arrays mit alphanumerischen Keys.
So long,
Martin
Zwei Kumpels sitzen vor dem Computer. "Welche Suchmaschine beutzt du eigentlich meistens?" - "Prima Vera." - "Hmm, kenn' ich gar nicht." Dann geht die Tür auf: "Schatz ich habe deine Sonnenbrille wiedergefunden!" - "Prima, Vera!"