Sobre variaveis

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Sobre variaveis

Re: Sobre variaveis

Post by Gio » 09 Jun 2020, 19:35

Boa noite Hologram.

Em baixo nível as variáveis são como apelidos para endereços específicos da memória RAM. Mesmo apelido = Mesmo endereço; Apelido diferente = endereço diferente.

Então se você reescrever o conteúdo de uma variável, você estará reescrevendo os dados de um mesmo endereço da memória RAM, o que significa que os dados anteriores (que estavam naquele endereço) serão perdidos para que os novos dados sejam ali escritos.

Mas para evitar isso, você pode copiar o conteúdo daquela variável para outra variável antes de reescrever o conteúdo dela, por exemplo.

Code: Select all

Var1 := 120 ; Var1 recebe o valor 120
Var2 := Var1 ; Depois, Var2 recebe o valor de Var1
Var1 := 150 ; Em seguida, reescrevemos o valor de Var1 para 150
msgbox % "Var1: " . Var1 ; Agora se exibimos Var1, aparecerá 150
msgbox % "Var2: " . Var2 ; No entanto, como antes nós copiamos o conteúdo de Var1 para Var2 e não reescrevemos Var2 depois disso, então Var2 ainda contém 120

:arrow: Mas se a sua pergunta vem de um interesse em poder visualizar o conteúdo de uma variável antes que ela mude no script, você pode usar uma msgbox ou tooltip para fazer isso. Basta colocar esse comando na linha certa observando a ordem de execução. Exemplo:

Code: Select all

Var1 := 120 
msgbox % Var1 ; Posso checar o que a variável tinha antes de seu conteúdo ser reescrito programando uma msgbox na linha anterior a isso.
Var2 := Var1 
Var1 := 150 
msgbox % "Var1: " . Var1 
msgbox % "Var2: " . Var2

Sobre variaveis

Post by Hologram » 09 Jun 2020, 18:27

Eu gostaria de saber se por exemplo, quando eu criar uma variavel de valor inicial que seja = 0, e conforme o script for sendo rodado e eu atribuir novos numeros pra essa mesma variavel, ela vai substituir o valor anterior, ou vai armazerar os varios valores dados a ela?

Top