Qual utilidade da função "local"

Eu não entendo a utilidade da função “local”

Exemplo: local a = 1 + 1

Da para colocar isso em um contexto GLOBAL, não necessariamente em um contexto LOCAL.

Exemplo:

local conta = 1 + 1
function resultado()
print(conta)
end

resultado()

Mas daria a mesma coisa se colocasse “conta = 1 + 1” no lugar de “local = 1+1”

Por isso não consigo ver a utilidade de “local”

2 Curtidas

Quando se declara uma variável local, ela só fica disponível dentro do escopo em que foi criada e em escopos “descendentes”. Agora quando ela é criada no “escopo principal” ela fica um pouco mais rápida.

Fiz um teste com as duas:

local start = tick()

a = 0
a = a + 1

print(tick() - start)

start = tick()

local b = 0
b = b + 1

print(tick() - start)

O output foi:

2.1457672119141e-06 -- Ou 0.00000214 segundos
1.6689300537109e-06 -- Ou 0.00000166 segundos

Com coisas mais complexas isso pode fazer uma diferença grande.

Espero estar certo, qualquer um que ache que estou errado por favor responda a essa postagem!

2 Curtidas