apenas uma figura bonitinha

3.  Variáveis e Atribuições

 

Até agora, sempre que usamos puts numa string ou número, o que imprimimos some. O que eu quero dizer é, se quiséssemos imprimir algo duas vezes, teríamos que digitar duas vezes:

puts '...você pode dizer aquilo de novo...'
puts '...você pode dizer aquilo de novo...'
...você pode dizer aquilo de novo...
...você pode dizer aquilo de novo...

Seria legal se pudéssemos digitá-lo uma única vez e mantê-lo por perto... guardá-lo em algum lugar. Bom, nós podemos, é claro—caso contrário eu não teria tocado no assunto!

Para guardar a string na memória de seu computador, precisamos dar um nome a ela. Normalmente os programadores chamam esse processo de atribuição, e chamam os nomes de variáveis. A variável pode ser praticamente qualquer seqüência de letras e números, mas o primeiro caracter tem de ser uma letra minúscula. Vamos rodar o último programa de novo, mas desta vez eu darei à string o nome de minhaString (ainda que eu pudesse tê-la chamado de str ou minhaStringzinha ou pedroPrimeiro).

minhaString = '...você pode dizer aquilo de novo...'
puts minhaString
puts minhaString
...você pode dizer aquilo de novo...
...você pode dizer aquilo de novo...

Sempre que você tentou fazer algo com minhaString, o programa fez com '...você pode dizer aquilo de novo' no lugar. Você pode pensar na variável minhaString como "apontando para" a string '...você pode dizer aquilo de novo...'. Eis um exemplo um pouquinho mais interessante:

nome = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'Meu nome é ' + nome + '.'
puts 'Nossa!  ' + nome + ' é um nome bem longo!'
Meu nome é Patricia Rosanna Jessica Mildred Oppenheimer.
Nossa!  Patricia Rosanna Jessica Mildred Oppenheimer é um nome bem longo!

Assim como podemos atribuir um objeto a uma variável, podemos reatribuir um objeto diferente à mesma variável (e é por isso que nós as chamamos de variáveis: porque a coisa para a qual apontam pode variar).

compositor = 'Mozart'
puts compositor + ' era "sensa", na sua época.'

compositor = 'Beethoven'
puts 'Mas eu, pessoalmente, prefiro ' + compositor + '.'
Mozart era "sensa", na sua época.
Mas eu, pessoalmente, prefiro Beethoven.

Variáveis podem, é claro, apontar para qualquer tipo de objeto, não só strings:

var = 'só mais uma ' + 'string'
puts var

var = 5 * (1+2)
puts var
só mais uma string
15

Na verdade, variáveis podem apontar para qualquer coisa... que não outras variáveis. Então o que acontece se tentarmos?

var1 = 8
var2 = var1
puts var1
puts var2

puts ''

var1 = 'oito'
puts var1
puts var2
8
8

oito
8

Primeiro, quando tentamos apontar var2 para var1, var2 apontou para 8 (exatamente como var1 apontava). Aí fizemos var1 apontar para 'oito', mas como var2 nunca apontou de verdade para var1, ela se mantém apontando para 8.

Agora que temos variáveis, números e strings, vamos aprender como misturar todos eles!

 

© 2003-2015 Chris Pine