Delete the first entry of an array.
Peter W A Wood
peterwawood at gmail.com
Fri Mar 25 04:19:59 EDT 2016
Peter
Thanks for the suggestions.
> On 25 Mar 2016, at 16:03, Peter TB Brett <peter.brett at livecode.com> wrote:
>
> On 2016-03-25 08:33, Peter W A Wood wrote:
>> I have an array which contains a second array. (myArray[“numbers”][]).
>> ...
>> automatically change the index of the remaining entries?
>
> Hi Peter,
>
> LiveCode arrays are actually dictionaries (more like JavaScript objects than JavaScript arrays). There aren't currently any push/pop syntax for LiveCode arrays.
Thanks for the confirmation as I wasn’t sure that was the case for all arrays due to the existence of the extents function.
> I would recommend two things:
>
> 1) Arrange your algorithm so that you extract things one-by-one from the _end_ of the numbered array, rather than the start. This is more efficient!
It is not possible in this case as the order of the elements is significant. I use a different function to remove the last element of the array.
>
> 2) Alternatively, you can shift everything along, which will be slow:
>
> function PopStart @xArray
> local tLength, tItem, tKey
>
> put the number of elements in xArray into tLength
> if tLength is 0 then return empty
>
> put xArray[1] into tItem
>
> repeat with tKey = 2 to tLength
> put xArray[tKey] into xArray[tKey - 1]
> end repeat
> delete xArray[tLength]
>
> return tItem
> end PopStart
This is what I am currently having to do but am not too worried yet as I believe in the “Getting it working, getting it working correctly, getting working quickly approach”.
> I hope that's helpful.
Thanks for the suggestions.
Kind regards
Peter
More information about the use-livecode
mailing list