Flesxible looping [Was: Making Revolution faster with reallybig arrays]
Dennis Brown
see3d at writeme.com
Fri Apr 15 08:58:38 EDT 2005
Alex,
Sometimes I feel like I have been really stupid when the light dawns.
Of course there is a way to specify a sequential access in a single
statement. The catch is that an extra variable needs to be specified
and modified. Something like this:
put line offset tCharOffset of string into container --tCharOffset is
advanced to after return
Or as a function:
get sequentialLine((tCharOffset),string) --still advances tCharOffset
This would take care of fast sequential access to strings.
What do you think?
Is there a better form that this could be put into for Transcript?
Dennis
On Apr 13, 2005, at 11:25 AM, Alex Tweedly wrote:
> Dennis Brown wrote:
>
>> The Idea is to break apart the essential functional elements of the
>> repeat for each control to allow more flexibility. This sample has a
>> bit more refinement than what I posted yesterday in Bugzilla.
>>
>> The new keyword would be "access" , but could be something else.
>>
>> An example of the use of the new keywords syntax would be:
>>
>> access each line X in arrayX--initial setup of pointers and X value
>> access each item Y in arrayY --initial setup of pointers and Y value
>> repeat for number of lines of arrayX times --same as a repeat for each
>> put X & comma & Y & return after ArrayXY --merged array
>> next line X --puts the next line value in X
>> next item Y --if arrayY has fewer elements than arrayX, then empty
>> is supplied, could also put "End of String" in the result
>> end repeat
>>
>> Another advantage of this syntax is that it provides for more
>> flexibility in structure of loops. You could repeat forever, then
>> exit repeat when you run out of values (based on getting an empty
>> back). The possibilities for high speed sequential access data
>> processing are much expanded which opens up more possibilities for
>> Revolution.
>
>
> Dennis,
>
> I think having more flexible repeat structures to allow parallel
> passes through lists or arrays is a really good idea, but I don't like
> the form you have suggested. It seems wrong to have separate
> statements to setup the loop; as far as I know, the language currently
> keeps the meaning of each statement self-contained, so I think this
> multi-line form would be a hard one to "sell".
More information about the use-livecode
mailing list