这个变量还没有赋值(一个全局变量)

This variable has not been assigned a value (a global variable)

我刚刚发现,如果我尝试在一个简单热键后声明的函数中使用全局变量,则会出现一条警告,指出该全局变量没有值。

插图:

在此示例中,当我按 Shift + l 时出现警告。

谁能解释一下?

必须在 auto-execute section 或 hotkey/hotstring/or 另一个函数中声明变量。

#Warn
global a := "10/10"  ; super-global variable

$+p:: Pause

$+1:: foo()

foo(){  
    MsgBox % "a = " . a
}

或 要在函数内访问全局变量,您需要在函数内添加 global:

#Warn

a := "10/10"  ; global variable

$+p:: Pause

$+1:: foo()

foo(){
    global
    MsgBox % "a = " . a
}

或:

#Warn

$+1:: 
    global a := "10/10"
    foo()
return

$+p:: Pause

foo(){
    MsgBox % "a = " . a
}

有关详细信息,请阅读 Local and Global Variables