Variáveis
- Atribuir cria uma variável.
total = 0;Não há palavra-chave de declaração nem anotação de tipo. - Uma variável precisa ser atribuída em algum lugar acima do seu primeiro uso no texto-fonte, ou o script não compila (variável indefinida). Isso é verificado pela posição no texto, não pelo que realmente é executado.
- Assim, uma variável atribuída somente dentro de um ramo
ifcompila quando é usada depois doif. Se esse ramo não foi executado, a variável contém Integer0. - Há um único escopo por script. Um bloco
{ }não cria um novo escopo. Um contador de loop continua existindo depois do loop, com seu valor final, e atribuir a um nome dentro de um bloco altera a mesma variável em todos os lugares. - As variáveis existem durante uma execução do script. Cada disparo começa sem nenhuma, e duas ações executadas ao mesmo tempo nunca veem as variáveis uma da outra. Use o Storage para manter um valor entre execuções.
- Uma variável pode ter o mesmo nome de uma função interna.
xex(…)são diferenciados pelo parêntese, embora reutilizar o nome de uma função interna não seja recomendado.
if (MouseGetCursorX() > 500) {
side = "right";
}
UtilityPrint(StringFormat("side = {0}", side, "")); // compila; imprime "side = 0" quando o ramo não foi executado
for (i = 0; i < 3; i = i + 1) { }
UtilityPrint(StringFormat("i after loop = {0}", i, "")); // 3 -- sem escopo de bloco