arrays - Autohotkey,如何在数组的值内循环变量的值
问题描述
我正在努力使用 autohotkey 的数组和循环。
正如您在下面看到的,感谢"v"Array[A_Index]部分,我可以创建两个变量app和adm,它们也是数组 1 和数组 2 的值。
我的问题是,如何循环以这种方式创建的所有变量的值?
示例:变量 app 的值为 4,变量 adm 的值为 5,我想使用 Array 指令循环这些值。
我试图做类似的事情: Loop %Array[A_Index]%但它不起作用。有任何想法吗?
PS对不起我的英语,但我无法更好地表达它,
Array := []
Array[1] := "app"
Array[2] := "adm"
Loop % Array.count()
{
Gui, Add, Edit, % "v"Array[A_Index] " x30 y" NodesCount " w50 h17"
}
Loop % Array.count()
{
Loop Array[A_Index]
{
MsgBox, % A_Index
}
}
解决方案
我不太确定这样做的目的是什么,但我让所有部分都工作了。正如您在示例中提到的那样,我添加了一个变量,以及为和NodesCount
分配值。我还添加了一个,因为它似乎是必要的。我喜欢使用连接,因为它可以帮助我的大脑理解正在发生的事情,但这不是必需的。app
adm
Gui, Show
.
在第二个循环中,我将数组项的内容分配给了一个变量;然后我将内容的内容分配给同一个变量。可能有一种更清洁的方法来做到这一点,但我没有成功地将它直接应用于数组;也就是说,test := %Array[A_Index]%
并test := % Array[A_Index]
没有工作。
f1::
app := 4 , adm := 5 , NodesCount := 10
Array := [] , Array[1] := "app" , Array[2] := "adm"
Loop % Array.count()
Gui, Add, Edit, % "v" . Array[A_Index] . " x30 y" . NodesCount + 20 * ( A_Index - 1 ) . " w50 h17"
Gui, Show
Loop , % Array.count()
{
test := Array[A_Index] , test := %test%
Loop , % test
MsgBox, % A_Index
}
Return