#NoEnv [v1.0.43.08+]

빈 문자열이 환경 변수인지 점검하는 것을 회피합니다 (모든 새 스크립트에 권장).

#NoEnv

스크립트 아무데나 #NoEnv 줄을 지정하면 빈 문자열이 잠재적으로 환경 변수인지 찾아 보지 못하도록 막습니다. 예를 들어:

#NoEnv
MsgBox %WinDir%

위 코드는 "WinDir" 환경변수를 열람하지 않습니다 (물론 스크립트 상단 근처에 WinDir := A_WinDir와 같이 처리하면 해결할 수 있습니다).

모든 새 스크립트에 #NoEnv을 지정하는 것을 권장합니다. 왜냐하면:

  1. 빈 문자열이 표현식이나 명령어에 사용될 때마다 수행성능이 눈에 띄게 개선됩니다. 또한 따옴표 없는 매개변수 유형을 사용할 때 DllCall의 수행성능도 향상됩니다. (예, int vs. "int").
  2. 환경 변수 때문에 스크립트에 버그가 생기는 것을 방지합니다. 그 이름이 예상치 못하게 스크립트에 사용되는 변수에 일치할 수 있기 때문입니다.
  3. AutoHotkey v2는 이 행위를 기본값으로 사용할 것입니다.

쉽게 #NoEnv로 이전하기 위해, 내장 변수 ComSpecProgramFiles이 추가되었습니다. 상응하는 환경변수와 똑 같은 문자열이 안에 들어 있습니다.

#NoEnv가 효과를 발휘하면, 스크립트는 EnvGet을 사용하여 환경 변수를 열람해야 합니다. 아니면 A_WinDir과 같은 내장 변수를 사용하십시오.

다른 지시어처럼, #NoEnv는 조건적으로 실행할 수 없습니다.

EnvGet, ComSpec, ProgramFiles, A_WinDir