Seite 1 von 1

Problem mit den Rückgabewerten der LinkedList()-Befehle

Verfasst: 30.11.2004 10:23
von Lebostein
Folgender Code:

Code: Alles auswählen

NewList liste.s()

AddElement(liste()) ;Element 0
AddElement(liste()) ;Element 1
AddElement(liste()) ;Element 2

Debug AddElement(liste())         ;Adresse des neuen Elementes, also Element 3
Debug SelectElement(liste(),0)    ;leider kein Rückgabewert...warum eigentlich nicht?
Debug FirstElement(liste())       ;Adresse des ersten Elementes, also Element 0
Debug LastElement(liste())        ;Adresse des letzten Elementes, also Element 3
Debug @liste()                    ;Adresse des aktuellen Elementes, also Element 3
Folgendes Ergebnis erhalte ich:

Code: Alles auswählen

8724224  ;letztes Element
4215320  ;Müll
8724152  ;erstes Element
8724224  ;letztes Element
0        ;letztes Element
Warum bekomme ich denn in der letzten Zeile bei "Debug @liste()" eine 0 zurück. Müsste da nicht eigentlich die Adresse des aktuellen bzw. hier letzten Elementes auftauchen, also der Wert 8724224 ??

Warum gibt eigentlich SelectElement() keine Adresse zurück sondern nur eine undefinierbare Zahl? Im Handbuch steht: "Rückgabewert: Dieser Befehl hat keinen Rückgabewert." Aber das wäre doch sinnvoll, die anderen Befehle können es ja auch.

Verfasst: 30.11.2004 21:22
von GPI
ist irgendwie komisch... oder kurz

hä?

erweiterter Code:

Code: Alles auswählen

NewList liste.s() 

AddElement(liste()):liste()="1" ;Element 0 
AddElement(liste()):liste()="2" ;Element 1 
AddElement(liste()):liste()="3" ;Element 2 

Debug AddElement(liste())     ;Adresse des neuen Elementes, also Element 3 
liste()="4"
Debug SelectElement(liste(),0)  ;leider kein Rückgabewert...warum eigentlich nicht? 
;Nicht definiert, siehe anleitung
Debug "--"
Debug FirstElement(liste())    ;Adresse des ersten Elementes, also Element 0 
Debug @liste()
Debug liste()
Debug "---"

Debug LastElement(liste())    ;Adresse des letzten Elementes, also Element 3 
Debug @liste()
Debug liste()
Debug "---"
pb3.91

Code: Alles auswählen

8789792
4215268
--
8789672
8789696
1
---
8789792
8789816
4
---
PB3.92

Code: Alles auswählen

8789808
4215256
--
8789688
8789712
1
---
8789808
8789832
4
---
Pb3.92

Verfasst: 05.12.2004 18:49
von Andre
Info von Fred dazu:
Fred hat geschrieben: This is a known issue, as it returns the String address instead of linkedlist element address. It will be probably changed in v4.0 but I will need to find a way to return the string address then, as it could
be useful someday.

Verfasst: 06.12.2004 08:53
von THEEX
Ne Übersetzung fände ich angenehm....

Verfasst: 06.12.2004 14:21
von Andre
CSprengel hat geschrieben:Ne Übersetzung fände ich angenehm....
Ok, ich versuch's mal (ohne Wörterbuch :wink:):

"Dies ist eine bekannte Verhaltensweise, da eine String-Adresse anstelle der Adresse eines LinkedList-Elements zurückgegeben wird. Dies wird sich möglicherweise in v4.0 ändern, ich muss dann jedoch noch eine Möglichkeit zur Rückgabe der String-Adresse finden, da es eines Tages nützlich sein kann."

(wie sagt man immer so schön: "ohne Gewähr")