#NoEnv [v1.0.43.08+]


避免检查空变量是否为环境变量(推荐所有新建脚本使用)。

#NoEnv

指定 #NoEnv 这行在脚本的任意位置,防止空变量被作为潜在的环境变量来查找。例如:

#NoEnv
MsgBox %WinDir%

上面的检索 "WinDir" 环境变量(尽管通过在脚本顶部附近加入 WinDir := A_WinDir 能解决)。

指定 #NoEnv 是推荐所有新建脚本使用的,因为:

  1. 当空变量被用在一个表达式或命令里的时候,它显著地改善性能。其同样改善 DllCall 的性能,当未引用的变量类型被使用的时候(例如 int 对 "int")。
  2. 它防止由于那些环境变量的名称意外地被脚本使用的变量名匹配而造成的错误。
  3. 将来的AutoHotkey版本可能让此行为模式作为默认。

为了有助于改善切换到 #NoEnv 的情况,内置的 Comspec 和 ProgramFiles 变量被添加进来。它们与相应的环境变量包含同样的字串。

当 #NoEnv 起作用时,脚本应该使用 EnvGet 来找回环境变量,或使用内置的像 A_WinDir 这类变量。

相关命令

EnvGet, Comspec, ProgramFiles, A_WinDir

翻译:天堂之门 menk33@163.com 2008年7月21日