Syntax to increment variable names in repeat loop
keith.clarke at clarkeandclarke.co.uk
Tue May 24 07:47:07 EDT 2011
Thanks, Jim, The 'do' command looks useful as a mechanism for combining disparate elements - I'll add it to my armoury.
The multi-dimensional array should keep the XML strings related but separate for post processing.
I'm also setting a custom property on the stack as the array - to provide simple database-free persistence over time and across cards, should I need to access the XML (or more likely, cross-reference the keys) from elsewhere in the stack.
On 24 May 2011, at 12:31, Jim Ault wrote:
> On May 24, 2011, at 2:12 AM, Keith Clarke wrote:
>> Hi folks,
>> I have a repeat loop with tCycle = 1 to 10 and for each repeat, I need to put something into a new variable, specific to the particular cycle - tResultCycle1, tResultCycle2... tResultCycle10.
>> How does one script the creation of a unique variable for each loop, as LiveCode doesn't seem to like the attempted simple variable name concatenation in...
>> put "something" into tResult & tCycle
>> I'm guessing I need to define the variable's name before using it, but 'variableNames' doesn't seem to fit the bill and as the dictionary doesn't even have an entry for 'variable' (so they're obviously not important!), I'm struggling to find any seed terms to search the list archives.
>> Then again, maybe I'm missing something fundamental here - my default state with LiveCode, it seems! :-)
> The 'do' command is the common way to do this
> repeat with k = 1 to 10
> -- build thisVar for this loop
> do "put thisVar into newVar" & k
> end repeat
> You can also use
> line k of fld storageFld
> line k of aggregateVar
> set the k of this card to thisVar
> as you have done, use a multi dimensional array
> Minor advantage to custom props is they can be stored in the stack file. This is good for bulding things like a list of path names and ftp site URLs that need to be kept with the stack and are not part of user data or preferences.
> Hope this helps
> Jim Ault
> Las Vegas
More information about the use-livecode