-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
💎 recompensa-10Pagamos recompensa: 10 dólaresPagamos recompensa: 10 dólarespituguêsItem específico do dialeto PituguêsItem específico do dialeto Pituguês
Description
Em Python
O Python possui regras estritas de escopo (LEGB - Local, Enclosing, Global, Built-in). Quando atribuímos um valor a uma variável dentro de uma função, o Python entende que estamos criando uma nova variável local, mesmo que já exista uma variável global com o mesmo nome. A variável global permanece inalterada fora da função.
Exemplo:
x = 10
def teste():
x = 5 # Cria uma NOVA variável 'x' apenas para esta função
print(x) # Imprime a local (5)
teste()
print(x) # Imprime a global (10)
# Resultado:
# 5
# 10
Em Pituguês
Atualmente, o Pituguês não parece diferenciar escopo de atribuição local vs global. Ao atribuir um valor dentro da função (x = 5), o interpretador altera a variável global original em vez de criar uma local. Isso causa efeitos colaterais indesejados.
Exemplo do comportamento incorreto:
x = 10
funcao teste():
x = 5 # Está sobrescrevendo a global
escreva(x)
teste()
escreva(x) # A global foi alterada permanentemente
# Resultado atual:
# 5
# 5
Issue
Ajustar o sistema de ambiente/escopo do interpretador.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
💎 recompensa-10Pagamos recompensa: 10 dólaresPagamos recompensa: 10 dólarespituguêsItem específico do dialeto PituguêsItem específico do dialeto Pituguês