Variabili e assegnazioni
Finora ogni volta che abbiamo usato puts con una stringa o con un numero, ciò che abbiamo stampato è poi scomparso. Quello che intendo dire è che se volevamo stampare qualcosa due volte, avremmo dovuto scriverla due volte:
puts '...puoi dirlo ancora...'
puts '...puoi dirlo ancora...'
...puoi dirlo ancora...
...puoi dirlo ancora...
Sarebbe carino poterlo digitare una sola volta e poi... memorizzarlo da qualche parte. Naturalmente possiamo farlo (altrimenti non avrei detto tutto ciò!).
Per memorizzare la stringa nella memoria del nostro computer bisogna dare un nome alla stringa. I programmatori spesso chiamano questa operazione assegnazione e chiamano i nomi variabili. La variabile può essere costituita da una sequenza di lettere e numeri, ma il primo carattere deve essere una lettera minuscola. Proviamo nuovamente questo programma, questa volta però daremo alla stringa il nome laMiaStringa (anche se l'avrei potuta anche chiamare str o laMiaPiccolaStringa oppure enricoOttavo).
laMiaStringa = '...puoi dirlo ancora...'
puts laMiaStringa
puts laMiaStringa
...puoi dirlo ancora...
...puoi dirlo ancora...
Ogni volta che il programma fa un'operazione con laMiaStringa, in realtà la fa con '...puoi dirlo ancora...'. Si può pensare che la variabile laMiaStringa "punti" alla stringa '...puoi dirlo ancora...'. Ecco un esempio un po' più interessante:
nome = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'Mi chiamo ' + nome + '.'
puts 'Wow! ' + nome + ' è un nome veramente lungo!'
Mi chiamo Patricia Rosanna Jessica Mildred Oppenheimer.
Wow! Patricia Rosanna Jessica Mildred Oppenheimer è un nome veramente lungo!
Inoltre, allo stesso modo di come si assegna un oggetto ad una variabile, è possibile riassegnare un oggetto differente a quella variabile (ecco perché le chiamiamo variabili: perché ciò a cui puntano può variare).
compositore = 'Mozart'
puts compositore + ' era "il massimo" ai suoi tempi.'
compositore = 'Beethoven'
puts 'Ma personalmente preferisco ' + compositore + '.'
Mozart era "il massimo" ai suoi tempi.
Ma personalmente preferisco Beethoven.
Naturalmente le variabili possono puntare a ogni tipo di oggetto, non solo alle stringhe:
var = 'solo un\'altra ' + 'stringa'
puts var
var = 5 * (1+2)
puts var
solo un'altra stringa
15
Infatti le variabili possono puntare a quasi qualsiasi cosa eccetto altre variabili. Allora cosa succede se ci proviamo?
var1 = 8
var2 = var1
puts var1
puts var2
puts ''
var1 = 'otto'
puts var1
puts var2
8
8
otto
8
Come prima cosa, quando abbiamo provato a far puntare var2 a var1, la variabile ha davvero puntato a 8 (proprio come var1). Dopodiché abbiamo fatto puntare var1 a 'otto', ma dato che var2 in realtà non ha mai veramente puntato var1, la variabile ha continuato a puntare 8.
Ora che abbiamo le variabili, i numeri e le stringhe, impariamo ad usarli assieme!
Comments (0)
You don't have permission to comment on this page.