【发布时间】:2016-10-26 10:54:02
【问题描述】:
如果以前有人问过这个问题,我深表歉意(我找不到任何东西)。 我是 Livecode 中的一个极端菜鸟,我想知道是否有一种方法可以编写一个按钮来创建许多新的、唯一的变量并为它们分配一个值。如果这是一个愚蠢的问题,我深表歉意。
【问题讨论】:
标签: variables object button unique livecode
如果以前有人问过这个问题,我深表歉意(我找不到任何东西)。 我是 Livecode 中的一个极端菜鸟,我想知道是否有一种方法可以编写一个按钮来创建许多新的、唯一的变量并为它们分配一个值。如果这是一个愚蠢的问题,我深表歉意。
【问题讨论】:
标签: variables object button unique livecode
通常你会为此使用一个数组。数组基本上是一个事物列表,其中每个事物都与一个“索引”相关联。索引可以是任何单词,因此您可以使用像字典一样的数组,例如以法语单词为索引,以英语单词为值,如:
put "cow" into myDictionary["vache"]
但您也可以只使用数字作为键并将它们设为编号列表:
put "cow" into allMyAnimals[1]
put "duck" into allMyAnimals[2]
最终,您创建一个变量并在其中放入多个内容。例如,如果您有一个计算某些东西的循环(在本例中是一个数字 +100),并且您希望拥有包含所有这些数字的变量,但命名为少 100,您可以执行以下操作:
repeat with x = 1 to 250
put x +100 into twoHundredFiftyNumbersFrom101[x]
end repeat
并阅读第一个:
answer "the first number is" && twoHundredFiftyNumbersFrom101[1]
或全部:
repeat with x = 1 to 250
answer twoHundredFiftyNumbersFrom101[x]
end repeat
或其他。您也可以使用“do”将代码行构建为字符串,但是您必须确保以使它们成为有效标识符的方式生成变量名称(例如,其中没有空格,没有特殊字符)。数组键可以是任何有效的字符串,编译器可以对其进行优化,你可以将它们作为一个整体来处理,并在处理程序之间传递。
【讨论】:
或者您可以使用“do”结构“明确地”执行此操作:
on mouseUp
repeat with y = 1 to 10
get random(100)
do "put it into onTheFlyVariable" & y
end repeat
end mouseUp
单步执行此处理程序并观察变量自行组合。
【讨论】: