×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Tutorial] Ambientes
[Tutorial] Ambientes
Tocutoeltuco
« Censeur »
1479048120000
    • Tocutoeltuco#0000
    • Profil
    • Derniers messages
#1
  0

O Ambiente Global



ㅤO ambiente global é o "local" onde as variáveis globais são encontradas. São índices da tabela _G (Ela é global e não precisa ser declarada).
ㅤNum ambiente global, as variáveis ali declaradas podem ser utilizadas dentro de qualquer função ou estrutura.

Exemplo a dit :
a = 0 --> Global
print(a) --> 0, é o mesmo que chamar _G.a

O Ambiente Local



ㅤO ambiente local é o "local" onde as variáveis não globais são encontradas.
ㅤNum ambiente local, as variáveis ali declaradas só podem ser utilizadas dentro da função ou estrutura que se encontram.
ㅤPara criar um dado local é necessário o uso da keyword local precedido do nome da variável.

Exemplo a dit :
function NOME()
    local nome = "Bolo" --> Cria a variável local
    print(nome)
end
print(nome) --> Tenta chamar a variável nome fora de sua estrutura, retornando "nil", pois tenta-se apenas _G.nome
NOME() --> Chama a função, e dentro da função há a variável nome, e ela será printada, como diz o próprio bloco da função.

Junção Global-Local



Exemplo a dit :
x = 10 --> Global
do --> Cria uma estrutura para ser utilizado locais
    local x = x --> Variável local x tem o valor da variável global x (x = _G.x)
    print(x) --> 10
    x = x + 1
    do --> Nova estrutura
      local x = x + 1 --> Nova variável local x com o valor da primeira local + 1
      print(x) --> 12
    end
    print(x) --> 11 devido ao primeiro x+1, e não 12 porque a estrutura acima já foi finalizada
end
print(x) --> 10 devido a variável x global
Mescouleur
« Citoyen »
1479048840000
    • Mescouleur#0000
    • Profil
    • Derniers messages
#2
  0
Ótimo tutorial.
Parabéns.
Hydroper
« Citoyen »
1479049080000
    • Hydroper#0528
    • Profil
    • Derniers messages
    • Tribu
#3
  0
Também dá para deixar uma função local colocando "local" na frente:

a dit :
local function NOME()
end

ao invés de

a dit :
local NOME = function()
end

,
por exemplo.

Dernière modification le 1479050340000
Taric
« Citoyen »
1479049260000
    • Taric#5206
    • Profil
    • Derniers messages
    • Tribu
#4
  0
tbm tem como mudar uma variável global com a mesma nomenclatura de uma local

Script | The Lua
x = 0;

function
y()
local
x = x;
x = x + 1
;
print
("y (1): "..x)
print
("y (2): ".._G["x"])
_G
["x"]=x+1;
end


print
("1: "..x)
y()
print
("2: "..x)
Pikabibi
« Citoyen »
1483713480000
    • Pikabibi#0000
    • Profil
    • Derniers messages
    • Tribu
#5
  0
Muito bom, estava precisando!
Yuki
« Censeur »
1483919340000
    • Yuki#1366
    • Profil
    • Derniers messages
    • Tribu
#6
  0
Bom tutorial
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Tutorial] Ambientes
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27