Hey, nur ne kurze Frage zur Programmierlogik:
//Hängt einen Wert an den Array an
global func ArrayAdd(& anArray, xnNew, bool bNoDuplicates)
{
if (GetType(anArray) != C4V_Array)
return -1;
if (bNoDuplicates)
{
var dTemp = ArrayDataIndex(anArray, xnNew);
if (dTemp != -1)
return dTemp;
}
anArray[GetLength(anArray)] = xnNew;
return GetLength(anArray) - 1;
}
liste1 = ["hallo"]
liste2 = liste1
ArrayAdd(liste2,"tschüss")
Ändert sich dabei nun auch Liste1? Oder nur Liste2?
edit: es sind local oder static variablen, deswegen ists wichtig.
und eine ähnliche Problemstellung:
//Verschmiltz zwei Arrays
global func ArrayAddArray(& anArray, array anArray2, bool bNoDuplicates)
{
if (GetType(anArray) != C4V_Array)
return -1;
if (GetType(anArray2) != C4V_Array)
return -1;
if (!GetLength(anArray2))
return GetLength(anArray);
for (var xTemp in anArray2)
ArrayAdd(anArray, xTemp, bNoDuplicates);
return GetLength(anArray);
}
liste1 = ["hallo"]
liste2 = ["tschüss"]
liste3 = liste1
ArrayAddArray(liste3,liste2)
Ziel ist es, die beiden listen 1 und 2 zu kombinieren, ohne die liste1 und liste2 selbst zu verändern. Geht das so?