Zurück   Flashforum > Software > Autorensysteme

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-03-2004, 10:43   #1 (permalink)
dreckiger harald
 
Benutzerbild von bluesbaker
 
Registriert seit: Oct 2001
Ort: lünegurker heide
Beiträge: 541
argh! verschachtelte listen

ich versuche gerade eine verschaltelte liste per lingo zu erstellen, die folgendermassen aussehen soll:
-----------------------------------------
gliste1=[[1,1,1],[1,1,2],...[5,5,5]]
-----------------------------------------
der put-befehl schmeisst auch die richtigen werte raus, aber in der liste steht dann nur
-----------------------------------------
gliste1=[[5,5,5],[5,5,5],...[5,5,5]]
-----------------------------------------
wenn ich mir's im debugger anschaue, werden die werte in gliste1 immer mit dem aktuellen wert überschrieben, und zwar wenn die zeile
-----------------------
temp[3]=z
-----------------------
ausgeführt wird...
ich peil's nicht....
und wäre froh, wenn mir jemand helfenkönnte

PHP-Code:


global gliste1,temp

on startmovie me
  gliste1
=[] -- verschachtelte listeposition in der 5er matrix [x,y,z]
  
temp=[]
  
repeat with x=1 to 5
    temp
[1]=x
    repeat with y
=1 to 5
      temp
[2]=y
      repeat with z
=1 to 5
        temp
[3]=z
        put temp
        gliste1
.add(temp)
      
end repeat
    end repeat
  end repeat
end 
gruss vom bluesbaker
__________________
Just because you’re paranoid doesn’t mean they’re not out to get you.
---------------------
www.rasterfahnder.de
--------------------------------

bluesbaker und wie er die welt sah
sushicorner---lo-fi-dirt-rock

coming soon:
lonesome media

Geändert von bluesbaker (23-03-2004 um 10:45 Uhr)
bluesbaker ist offline   Mit Zitat antworten
Alt 23-03-2004, 19:01   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Ort: Zürich
Beiträge: 77
Hi Bluesbaker

Du hast gerade den Unterschied zwischen "passed by reference" und "passed by value" entdeckt . In der Liste gliste1 werden nur "Zeiger" auf die liste temp übergeben. Wenn Du die Liste temp nachher veränderst, dann verweist der "Zeiger" auf den veränderten Wert und Du hast bei allen Einträgen die Liste [5, 5, 5]...

Damit dies nicht passiert, musst Du die Liste duplizieren:

...
gliste1.add(temp)
temp = duplicate(temp)
...

greets.mmdev

_____
__________________
http://www.mmdev.ch
mmdev ist offline   Mit Zitat antworten
Alt 24-03-2004, 07:38   #3 (permalink)
dreckiger harald
 
Benutzerbild von bluesbaker
 
Registriert seit: Oct 2001
Ort: lünegurker heide
Beiträge: 541
ächz

ja... heute morgen so gegen drei uhr hatte ich es dann auch

auf jeden fall erstmal danke. ich glaub, ich mach jetzt mal ein kleines nickerchen. (es lebe die freie zeiteinteilung!)


gruss bluesbaker (gäähn)
__________________
Just because you’re paranoid doesn’t mean they’re not out to get you.
---------------------
www.rasterfahnder.de
--------------------------------

bluesbaker und wie er die welt sah
sushicorner---lo-fi-dirt-rock

coming soon:
lonesome media
bluesbaker ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele