array.copy() mehrdimensionale slices

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Firstdeathmaker

Betreff: array.copy() mehrdimensionale slices

BeitragMi, Jun 18, 2008 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Um ein array zu kopieren kann mann ja schreiben

Code: [AUSKLAPPEN]

local array:int[5]

local newarray:int[] = array.copy()



Da ich allerdings grundsätzlich im superstrict programmiere, habe ich jetzt ein Problem: Ich weis nicht was ich importen muss um die array.copy() funktion nutzen zu können...

Kann mir da jmd weiterhelfen? Hab mich schon nen bisschen durchgewühlt, bin aber noch nicht fündig geworden...
[/code]
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
  • Zuletzt bearbeitet von Firstdeathmaker am Mi, Aug 13, 2008 12:57, insgesamt einmal bearbeitet

Blitzcoder

Newsposter

BeitragMi, Jun 18, 2008 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür musst du eigentlich gar nichts importieren, da copy eine Methode der Klasse Array wäre. Allerdings scheint es die nicht zu geben. Benutze stattdessen Slices.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
  • Zuletzt bearbeitet von Blitzcoder am Mi, Jun 18, 2008 21:36, insgesamt einmal bearbeitet

FOODy

BeitragMi, Jun 18, 2008 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
array.copy() gibt es doch nicht?

Wenn du ein Array kopieren möchtest kannst du es mit einem Slice machen:
Code: [AUSKLAPPEN]

local array:int[5]
local newarray:int[]=array[..array.length]


Grüße,
FOODy
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB
 

#Reaper

Newsposter

BeitragMi, Jun 18, 2008 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Wegen SuperStrict muss man doch nichts importieren? Oder meinst du Framework? Naja, egal. Wink

Einfacher kopieren kannst du es mit:
Code: [AUSKLAPPEN]
b=a[..]
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Firstdeathmaker

BeitragDo, Jun 19, 2008 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, das mit den Slices kannte ich natürlich schon, nur funktioniert das natürlich nicht für mehrdimensionale arrays, und genau um so eines handelt es sich bei mir. Also wie kann ich mehrdimensionale arrays kopieren?

Edit: Habs rausgefunden:

Code: [AUSKLAPPEN]
Local arr1:Int[5 , 5]
For i:Int = 0 To 4
For i2:Int = 0 To 4
   arr1[i , i2] = i + i2
Next
Next

Local arr2:Int[,] = New Int[arr1.Dimensions()[0] , arr1.Dimensions()[1]]

MemCopy(arr2,arr1,SizeOf(arr1))

For Local i3:Int = EachIn arr2
Print   i3
Next
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group