How not to copy an Array
BlitzMax Forums/BlitzMax Beginners Area/How not to copy an Array| 
 | ||
| Oops, I wrote some code similar to the example below to make a copy of an array and then modify the copy.  However, it just points to the original array (obviously doh!) and doesn't copy it, so this code outputs 10,10 - not 10,1.  However, comment out Local a2[]=a1 and uncomment the line below and it will work because using slices makes a copy of the array.  Just thought I'd post this so other beginners won't make the same mistake that I did. Strict Local a1[] = [1,2,3,4,5] Local a2[]=a1 'Local a2[]=a1[0..Len(a1)] a2[0] = 10 Print a2[0] Print a1[0] | 
| 
 | ||
| On the slicing: You can clone the whole array far easier: local a2:int[] = a1[..] But your point on that is right. As an array is a type inherited from :Object, assigning it to something only changes the reference of the array, not its content. | 
| 
 | ||
| thanks for the .. tip. | 
| 
 | ||
| Just for the record... Print "My ears hurt!"...wont copy an array either. ;o) | 
| 
 | ||
| If you have nothing to say, why not follow rule one: don't say anything, just to raise your "get on their nuts" count. | 
| 
 | ||
| ...And I always thought you were a big fan of inane posts? | 
| 
 | ||
| I thought it was quite funny :-) and generally I don't mind my threads deterioratig, but I can see how it would annoy others. | 
| 
 | ||
| I agree, there's a time and a place for such comments and as I know you're partial to a bit of 'threadular silliness(TM)' I didn't see the harm. | 
| 
 | ||
| Lets face it the first post was a solution with explination, the second was an expansion of the solution, what else was there to post? "Well Done/ Thanks Dream/Grey"? At least Yans post was funny whilst being pointless, but Dreams "Dont post if you have nothing to add", was pointles and unfunny. You really need to get a sence of humour Dream. Hahahahaha | 
| 
 | ||
| Thanks Grey, I forgot about that jazz. Everyone else: That's right Best thread ever. | 
| 
 | ||
| Cheers Grey, you never know when a coding tit-bit might help the masses, I've no doubt you did a search on copying arrays and came up blank - now all can benefit from 'how to copy arrays...' | 
| 
 | ||
|  I've no doubt you did a search on copying arrays and came up blank  you put too much faith in me.  I just blindly posted ;-) |