如何在 Autohotkey 中发送数组变量的值?

Ste*_*ica 5 arrays autohotkey

我正在编写一个需要显示数组变量值的 AutoHotkey 脚本,但它似乎无法正常工作。

MyArray := ["one", "two", "three"]

send MyArray[1]     ; "MyArray[1]"
send MyArray%1%     ; "MyArray"
send %MyArray1%     ; <empty>
send % MyArray%1%   ; <empty>
;send %MyArray%1%   ; 'Error: Variable name missing its ending percent sign'
;send %MyArray%1%%  ; 'Error: Empty variable reference (%%)'
;send %MyArray[1]%  ; 'Error: Variable name contains an illegal character'
Run Code Online (Sandbox Code Playgroud)

在 AHK 论坛上发现声称我可以使用send %MyArray1%or 的帖子send % MyArray %1%,但两个命令都只引用空变量。

如何在 AutoHotkey 脚本中发送数组的值?

Ste*_*ica 7

%对单个参数使用 single来强制表达模式。

MyArray := ["one", "two", "three"]  ; initialize array
Send, % MyArray[1]                  ; send "one"
Run Code Online (Sandbox Code Playgroud)

这可以与使用引号的常规文本结合 ""

Send, % "The first value in my array is " MyArray[1]
Run Code Online (Sandbox Code Playgroud)

表达式模式可用于任何命令,包括MsgBoxTrayTip

MsgBox, % MyArray[1]
Traytip, , % "The first value is " MyArray[1]
Run Code Online (Sandbox Code Playgroud)

另见