stanleythedog
stanleythedog

Reputation: 1

Livecode: How do I program a button to create unique variables?

I apologize if this has been asked before (I couldn't find anything). I'm an extreme noob in Livecode, and I want to know if there is a way of programming a button to create many new, unique variables and assign a value to them. I apologize if this is a dumb question.

Upvotes: 0

Views: 169

Answers (2)

uliwitness
uliwitness

Reputation: 8773

Usually you use an array for that. An array is basically a list of things, where each thing is associated with an "index". An index can be any word, so you can use an array like a dictionary, where you'd e.g. have French words as the index, and English words as the value, like:

put "cow" into myDictionary["vache"]

But you can also just use numbers as the keys and make them a numbered list:

put "cow" into allMyAnimals[1]
put "duck" into allMyAnimals[2]

In end effect, you create one variable and put several things in it. For example if you had a loop that calculated something (in this example a number +100) and you wanted to have variables containing all those numbers, but named with 100 less, you'd do something like:

repeat with x = 1 to 250
  put x +100 into twoHundredFiftyNumbersFrom101[x]
end repeat

And to read the first one:

answer "the first number is" && twoHundredFiftyNumbersFrom101[1]

Or all of them:

repeat with x = 1 to 250
  answer twoHundredFiftyNumbersFrom101[x]
end repeat

Or whatever. You could also use 'do' to build the lines of code as a string, but then you have to make sure your variable names are generated in a fashion that makes them valid identifiers (e.g. have no spaces in them, no special characters). An array key can be any valid string, and the compiler can optimize them, and you can treat them as a whole and pass them between handlers.

Upvotes: 3

dunbarx
dunbarx

Reputation: 756

Or you can do this "in the clear" with a "do" construction: on mouseUp repeat with y = 1 to 10 get random(100) do "put it into onTheFlyVariable" & y end repeat end mouseUp

Step through this handler and watch the variables assemble themselves.

Upvotes: 2

Related Questions