Zusammenfassung
In dieser Lektion hast du gelernt:
- Eine Variable ist ein Name für einen Wert:
local muenzen = 120.=bedeutet „speichere“, nicht „gleich“.localschreibst du einmal, wenn du die Variable erzeugst; ohne es erzeugt Lua eine globale Variable. In diesem Kurs ist jede Variable lokal. - Namen bestehen aus den Buchstaben a bis z, Ziffern und
_, beginnen nicht mit einer Ziffer und dürfen keine Schlüsselwörter sein. Groß- und Kleinschreibung spielen eine Rolle. Dieser Kurs schreibt sie in camelCase:saatPreis. - Du änderst eine Variable, indem du einen neuen Wert in ihr speicherst, oft aus dem alten berechnet:
muenzen = muenzen + 5. Standard-Lua hat kein+=und kein++. - Zahlen sind Integer (
5) oder Floats (5.0), und Floats werden mit Dezimalpunkt geschrieben./und^ergeben immer einen Float,//teilt und rundet ab, und%ergibt den Rest.math.typesagt dir, welche Art eine Zahl ist. math.floorundmath.ceilrunden ab und auf und liefern Integer;math.floor(x + 0.5)rundet zur nächsten ganzen Zahl.math.max,math.minundmath.absliefern den größten Wert, den kleinsten Wert und den Betrag.- Texte (Strings) stehen in
"…"oder'…'.\",\nund\tsind ein Anführungszeichen, ein Zeilenumbruch und ein Tabulator...verbindet Texte, ohne Leerzeichen hinzuzufügen, und#liefert die Länge in Bytes. nilbedeutet, dass es keinen Wert gibt. Eine Variable ohne Wert und ein Name mit Tippfehler ergebennil, und es mit etwas zu verbinden oder damit zu rechnen ist ein Fehler.(local 'x')in der Meldung bedeutet eine Variable ohne Wert,(global 'x')meist einen Tippfehler.trueundfalsesind Wahrheitswerte.typeliefert den Typ eines Werts als Text:"number","string","boolean","nil".tonumberwandelt einen Text in eine Zahl um oder liefertnil, wenn der Text keine ist;tostringwandelt jeden Wert in einen Text um. Lua wandelt manche Texte von selbst in Zahlen um, aber verlass dich nicht darauf.string.formatbaut einen Text aus einer Vorlage:%dfür eine ganze Zahl,%.2ffür zwei Nachkommastellen,%sfür einen beliebigen Wert,%%für ein Prozentzeichen.
In der nächsten Lektion, über Bedingungen, lernen deine Programme, Entscheidungen zu treffen: das eine oder das andere zu tun, je nach den Werten von Variablen.
So schreibst du es:
Anweisungen
- 1
Probiere vor dem Weitergehen alles an Emmas Abendbericht aus. Berechne, wie viele volle Schachteln Emma mit ihren Eiern füllen kann und wie viele Eier übrig bleiben, und gib es so aus:
Schachteln: 4, Eier übrig: 3 - 2
Emma verkauft die vollen Schachteln für je
schachtelPreis. Addiere das Geld zumuenzenund gibmuenzenmitstring.formatund zwei Nachkommastellen aus:Schachteln: 4, Eier übrig: 3 Münzen: 58.00 - 3
Opa Josef zahlt die Münzen zurück, die er Emma schuldete. Der Betrag steht in seiner Notiz,
josefNotiz, die ein Text ist. Wandle sie mittonumberum, addiere sie zumuenzenund gibmuenzenmit..aus. Am Ende siehst du.0:muenzenist ein Float geworden, als du das Geld für die Schachteln addiert hast, weilschachtelPreisein Float ist.Schachteln: 4, Eier übrig: 3 Münzen: 58.00 Münzen: 73.0 - 4
Emma schreibt in ihr Notizbuch nur ganze Münzen. Gib
muenzennoch einmal aus, mitstring.formatund%d:Schachteln: 4, Eier übrig: 3 Münzen: 58.00 Münzen: 73.0 Im Notizbuch: 73 Münzen