TL:DR;我无法将热键中的变量声明为本地变量,这意味着temp
和index
可以全局访问。
我最近发现local variables不能在热键中声明为本地,或者在for-loop中用作参数。
^j::
local temp = Hello, world! ; Error: This line does not contain a recognized action
Return
SampleFunction() {
for local temp in myArray { ; Error: Variable name contains an illegal character
; do stuff
}
}
这已成为启用#warn
的问题。除非我记得为每个for循环使用唯一变量名,否则我会遇到以下错误:
警告:此局部变量与全局变量同名。(特别是:索引)
例如:
#warn
^j::
index = 42 ; This *index* variable is global
Return
UnrelatedFunction() {
for index in myArray { ; This *index* variable is local
MsgBox % myArray[index]
}
}
特别是在使用导入时会出现问题,因为我自己脚本中的变量经常与我导入的脚本中的变量冲突。
理想情况下,我可以在任何for循环之前放置一个本地声明,但如前所示,我无法在热键中执行此操作。
是否可以在热键中将变量声明为本地?
答案 0 :(得分:4)
I implement my hotkeys with functions. Variables within functions have by default local scope unless they are declared C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies
document.getElementsByClassName("yt-uix-expander-collapsed")[0].classList.remove("yt-uix-expander-collapsed");