Pular para o conteúdo principal

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 if compila quando é usada depois do if. Se esse ramo não foi executado, a variável contém Integer 0.
  • 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. x e x(…) 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