Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-10-2006, 10:02   #1 (permalink)
plsomgstfuthxbye
 
Benutzerbild von wylee
 
Registriert seit: Sep 2003
Ort: Hamburg
Beiträge: 134
Array kopieren geht nicht

Hallo,
ich habe ein problem mit einem Array das ich als vergleich nutzen will.
ich habe ein Array, aus dem einige werte zufällig ausgelesen werden und in ein weiteres Array geschrieben werden. dieses neu erzeuget Array habe ich (mehrfach) kopiert um mit den Kopien weiterarbeiten zu können.
komischerweise wird eine kopie (vorgabe_vergleich) immer mit "geshifted" obwohl es keinen grund dafür gibt, bzw er ist für mich nicht ersichtlich.
Wenn der film am Marker "auswerten" angekommen ist sollte das Array vorgabe_vergleich 3 werte gespeichert haben, es ist aber leer?
kann mir bitte jemand auf die sprünge helfen?
cheers: wylee

hier die Datei
__________________
while (!asleep()) sheep++;
wylee ist offline   Mit Zitat antworten
Alt 24-10-2006, 10:09   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Grundlagen: primitive Datentypen (Number, String etc.) werden per Wert übergeben, Komposit-Datentypen (Array, Objekt) per Referenz.
Soll heißen:
PHP-Code:
var a:Number 5;
var 
b:Number a;
-= 2;
trace(b); // --> 3
trace(a); // --> 5

var c:Array = [123];
var 
d:Array = c;
d.splice(01);
trace(d); // --> 2, 3
trace(c); // --> 2, 3 !!! 
D.h. per einfacher Zuweisung mit = wird in dem Beispiel mit dem Array nur ein Zeiger, eine Referenz auf das Original angelegt. Ändert man diese Referenz, ändert sich auch das Original.
Eine echte Kopie von nem Array kannst du bspw. per Array.concat() erstellen.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (24-10-2006 um 10:12 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 24-10-2006, 10:17   #3 (permalink)
plsomgstfuthxbye
 
Benutzerbild von wylee
 
Registriert seit: Sep 2003
Ort: Hamburg
Beiträge: 134
hm - also doch soetwas wie eine "ghost-copie". danke schonmal dafür

hab gerade getestet - es klappt natürlich.
__________________
while (!asleep()) sheep++;

Geändert von wylee (24-10-2006 um 10:19 Uhr)
wylee 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 an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele