Listen
Eine Liste hält mehrere Werte in Reihenfolge, eine Schleife geht sie einzeln durch, und ein zweiter Name für eine Liste erzeugt eine Kopie.
Eine Liste hält mehrere Werte hintereinander, zwischen eckigen Klammern. Die Werte sind von 0 an nummeriert, sodass
fruits[0] der erste ist. fruits.length() sagt, wie viele es sind, und eine for-Schleife geht sie nacheinander
durch.
const fruits = ["apple", "banana", "cherry"]
print fruits[0]
print fruits.length()
for fruit in fruits {
print "I like {fruit}."
}
// prints apple
// prints 3
// prints I like apple.
// prints I like banana.
// prints I like cherry.Zu einer Liste hinzufügen#
append fügt am Ende einen Wert hinzu. Es ändert die Liste, deshalb braucht die Liste ein var, genau wie eine
Zahl, die du änderst.
var shopping = ["bread"]
shopping.append "milk"
shopping.append "eggs"
print shopping
// prints ["bread", "milk", "eggs"]Zwei Namen, zwei Listen#
Gibst du einer Liste einen zweiten Namen, bekommst du eine Kopie. Änderst du die Kopie, bleibt die erste Liste unberührt: Nichts ändert sich hinter deinem Rücken, ein Wert ändert sich nur dort, wo du ihn änderst.
Viele Sprachen teilen sich stattdessen eine Liste zwischen beiden Namen, und eine Änderung über den einen Namen zeigt sich auch beim anderen. TorbScript nicht: Jeder Wert verhält sich hier wie eine Zahl. Die Referenz nennt das Wertsemantik.
const original = ["bread"]
var copy = original
copy.append "milk"
print original
print copy
// prints ["bread"]
// prints ["bread", "milk"]Übung#
Addiere die Preise mit einer for-Schleife, sodass das Programm Total: 16 ausgibt.
const prices = [3, 8, 5]
var total = 0
print "Total: {total}"Total: 16Auf deinem Computer ausführen: torb run lists.trb
Tipp
Geh die Liste mit for price in prices { ... } durch und addiere jeden price zu total.
Lösung
const prices = [3, 8, 5]
var total = 0
for price in prices {
total = total + price
}
print "Total: {total}"
// prints Total: 16Zusammenfassung#
Eine Liste hält Werte ab Position 0 in Reihenfolge, append fügt zu einer var-Liste hinzu, und ein zweiter Name
ist eine eigene Kopie.