![]() |
|
Clearing an array - Printable Version +- Boriel Basic Forum (https://forum.boriel.com) +-- Forum: Compilers and Computer Languages (https://forum.boriel.com/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://forum.boriel.com/forumdisplay.php?fid=11) +---- Forum: Help & Support (https://forum.boriel.com/forumdisplay.php?fid=16) +---- Thread: Clearing an array (/showthread.php?tid=1010) |
Clearing an array - patters - 2021-01-19 What is the recommended way to reset an array's contents? Do we have to run a FOR loop from 0 TO UBOUND and clear it element by element, or is there a neater way? I see that the following doesn't work: Code: arrayName={}RE: Clearing an array - Ljg701 - 2021-01-20 (2021-01-19, 11:47 PM)patters Wrote: What is the recommended way to reset an array's contents? Do we have to run a FOR loop from 0 TO UBOUND and clear it element by element, or is there a neater way? You could get the address of the start of the array and then use the MemSet method in the memcopy library to clear it quickly? RE: Clearing an array - boriel - 2021-01-20 (2021-01-20, 12:30 PM)Ljg701 Wrote:(2021-01-19, 11:47 PM)patters Wrote: What is the recommended way to reset an array's contents? Do we have to run a FOR loop from 0 TO UBOUND and clear it element by element, or is there a neater way? That's it. A proposal (I think even commented in this forum): Code: CLEAR arrayCode: CLEAR array, <new value>Instead you should perhaps use memset: Code: #include <memcopy.bas>When dynamics array are implemented you could also ReDIM them... meanwhile... Finally, remember you can assign (copy) entire arrays (myArray1 = myArray2) provided they are of the same shape and type. RE: Clearing an array - patters - 2021-01-26 You have my vote for Code: CLEAR arrayRE: Clearing an array - worcestersource - 2021-04-15 Just the clarify the syntax for copying an array, if mine has dimensions of 27,7, I'd type: Code: array1(27,7) = array2(27,7)Because doing this doesn't appear to copy the data. Thanks, Steve Ah. I figured it out. In the example above, it is literally as Boriel said. Code: array1 = array2What's great with the quick code/compile cycle is that you can use trial and error to figure things out. ![]() Steve RE: Clearing an array - boriel - 2021-04-16 (2021-04-15, 09:27 PM)worcestersource Wrote: Just the clarify the syntax for copying an array, if mine has dimensions of 27,7, I'd type: This works. But array2 is always taking your memory. Consider using this within a function so once the function ends, array2 is freed from memory. Code: SUB initArray()Another solution is to use memset (if the array is NOT an array of strings), but these is a bit more complex. Anyway, this will be available in the near future once I manage to implement DIM for dynamic arrays (as in SinclairBASIC), and REDIM. RE: Clearing an array - worcestersource - 2021-04-16 Thanks Boriel. I think REDIM will be an elegant solution to what I'm trying to do. Well worth a few coffees!
|