03. Variablen und Zuweisungen

Bis jetzt, wann immer wir puts mit einem String oder einer Zahl benutzt haben, ist das, was wir gedruckt haben, verschwunden. Was ich meine ist, wenn wir etwas zweimal drucken wollten, müssten wir es zweimal eingeben:

puts '...das kannst du nochmal sagen...'
puts '...das kannst du nochmal sagen...'
...das kannst du nochmal sagen...
...das kannst du nochmal sagen...

Es wäre schön, wenn wir es nur einmal eingeben könnten und es behalten könnten... es irgendwo speichern. Nun, wir können das natürlich – sonst hätte ich das Thema nicht angesprochen!

Um den String im Speicher Ihres Computers zu speichern, müssen wir ihm einen Namen geben. Normalerweise nennen Programmierer diesen Prozess Zuweisung und nennen die Namen Variablen. Die Variable kann praktisch jede Folge von Buchstaben und Zahlen sein, aber das erste Zeichen muss ein Kleinbuchstabe sein. Lassen Sie uns das letzte Programm noch einmal ausführen, aber dieses Mal werde ich dem String den Namen meinString geben (obwohl ich ihn auch str oder meinKleinerString oder heinrichDerErste hätte nennen können).

meinString = '...das kannst du nochmal sagen...'
puts meinString
puts meinString
...das kannst du nochmal sagen...
...das kannst du nochmal sagen...

Immer wenn Sie versucht haben, etwas mit meinString zu tun, hat das Programm es stattdessen mit '...das kannst du nochmal sagen...' gemacht. Sie können sich die Variable meinString so vorstellen, als würde sie auf den String '...das kannst du nochmal sagen...' "zeigen". Hier ist ein etwas interessanteres Beispiel:

name = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'Ich heiße ' + name + '.'
puts 'Wow!  ' + name + ' ist ein wirklich langer Name!'
Ich heiße Patricia Rosanna Jessica Mildred Oppenheimer.
Wow!  Patricia Rosanna Jessica Mildred Oppenheimer ist ein wirklich langer Name!

Genauso wie wir einer Variablen ein Objekt zuweisen können, können wir derselben Variablen ein anderes Objekt zuweisen (und deshalb nennen wir sie Variablen: weil das, worauf sie zeigen, variieren kann).

komponist = 'Mozart'
puts komponist + ' war zu seiner Zeit "der Hammer".'

komponist = 'Beethoven'
puts 'Aber ich persönlich bevorzuge ' + komponist + '.'
Mozart war zu seiner Zeit "der Hammer".
Aber ich persönlich bevorzuge Beethoven.

Variablen können natürlich auf jede Art von Objekt zeigen, nicht nur auf Strings:

var = 'nur noch ein ' + 'String'
puts var

var = 5 * (1+2)
puts var
nur noch ein String
15

Tatsächlich können Variablen auf fast alles zeigen... außer auf andere Variablen. Also was passiert, wenn wir es versuchen?

var1 = 8
var2 = var1
puts var1
puts var2

puts ''

var1 = 'acht'
puts var1
puts var2
8
8

acht
8

Zuerst, als wir versucht haben, var2 auf var1 zeigen zu lassen, zeigte var2 auf 8 (genau wie var1 zeigte). Dann ließen wir var1 auf 'acht' zeigen, aber da var2 nie wirklich auf var1 zeigte, zeigt es weiterhin auf 8.

Jetzt, wo wir Variablen, Zahlen und Strings haben, lassen Sie uns lernen, wie wir sie alle mischen können!