Autohotkey 如何使用带变量的计数器,错误:%%,自动热键

Autohotkey 如何使用带变量的计数器,错误:%%,自动热键,autohotkey,Autohotkey,在循环中,我想使用一个计数器来使用不同的变量。 问题是两者都使用了%符号:%VAR% 显示错误%%的位置,简化: textGH1 = Peter textGH2 = rocks. i = 1 Loop, 2 { SendInput {Enter} Sleep 50 SendInput, %textGH%i%% Sleep 50 SendInput {Enter} i++ } 错误:空变量引用%% 我尝试的是: 我在数组中查找了autohotkey,但只找到了 伪数组使用%COUNTER%作

在循环中,我想使用一个计数器来使用不同的变量。 问题是两者都使用了%符号:%VAR%

显示错误%%的位置,简化:

textGH1 = Peter
textGH2 = rocks.

i = 1
Loop, 2
{
SendInput {Enter}
Sleep 50
SendInput, %textGH%i%%
Sleep 50
SendInput {Enter}
i++
} 
错误:空变量引用%%

我尝试的是: 我在数组中查找了autohotkey,但只找到了 伪数组使用%COUNTER%作为解决方法,类似于 成功了。其次,我在循环中为当前变量指定了一个变量:

text := textGH%i%
但是,这不会像预期的那样调用变量(再次需要%textGH%i%%)

这应该可以:

SendInput, %textGH%%i%

我想我明白你的意思了?计数器更改时交换变量。最简单的方法是使用数组

这里有一个供您使用的解决方案:

定义数组。数组的索引值是自动的,所以Peter在索引1,Rock在索引2

当数组中存在值时,循环次数

在[Index]处发送数组。\u Index是循环的内置计数器


希望这能有所帮助。

我尝试过这个,但不起作用,输出是计数器本身“1”“2”我尝试过这个,初始化数组时出现错误:“以下变量名包含非法字符:”[“Peter”“我已仔细检查了复制粘贴。您可能正在使用旧版本的AutoHotkey,该版本不再更新。请从ahkscript.org下载最新版本。
MyArray := ["Peter", "Rocks"]
Loop, % MyArray.MaxIndex() {  

SendInput {Enter}   
Sleep 50  
SendInput % MyArray[A_Index]   

Sleep 50    
SendInput {Enter} 
}