Re: Looping though a numerically indexed array

2020-09-10 Thread Dan Friedman via use-livecode
David, Maybe there are better ways, but here's what I always do when I have an array with numbered keys... put the keys of pArray into aKeys sort lines of aKeys numeric repeat for each line k in aKeys //do something with pArray[k] end repeat Hope that helps. :) -Dan On 9/10/20, 2:39

Re: Looping though a numerically indexed array

2020-09-10 Thread David Bovill via use-livecode
Ah that explains it. The extents works but I seem to remember for each is considerably faster On 2 Sep 2020, 16:29 +0100, Brian Milby via use-livecode , wrote: > As long as the array is indexed starting at 1 with no gaps it should work by > looping for each element. I just did a quick test to

Re: Looping though a numerically indexed array

2020-09-02 Thread Bob Sneidar via use-livecode
It appears I have that backwards? Bob S > On Sep 2, 2020, at 8:28 AM, Bob Sneidar wrote: > > Ditto, and I am not sure what noticeable impact one method would have over > another. There was some blurb a long time ago about how these keys are > internally sorted. I believe what was proposed

Re: Looping though a numerically indexed array

2020-09-02 Thread Alex Tweedly via use-livecode
If the array is indexed from 1 with no gaps, you can do repeat with I = 1 to item 2 of line 1 of the extents of myArray Alex > On 2 Sep 2020, at 15:54, David Bovill via use-livecode > wrote: > > I’m pretty sure there must be a way to efficiently loop through numerically > indexed arrays >

Re: Looping though a numerically indexed array

2020-09-02 Thread Bob Sneidar via use-livecode
Ditto, and I am not sure what noticeable impact one method would have over another. There was some blurb a long time ago about how these keys are internally sorted. I believe what was proposed is that a set of NUMERIC keys beginning with 0 would actually sort correctly. Bob S > On Sep 2,

RE: Looping though a numerically indexed array

2020-09-02 Thread Ralph DiMola via use-livecode
David, Nope you have to sort them NUMERIC. As you said this is the only way I know of. I do this all the time. I don't know of any other way. put the keys of tMyArray into tKeys sort lines of tKeys numeric repeat for each line tKey in tKeys -- do what you want with tMyArray[tKey] -- this line

Re: Looping though a numerically indexed array

2020-09-02 Thread Brian Milby via use-livecode
As long as the array is indexed starting at 1 with no gaps it should work by looping for each element. I just did a quick test to confirm. I built a 100 element array and it looped in order. I deleted 2 keys and then it didn’t. I then added those 2 missing keys back and it worked again.