Zusammenfassung
In dieser Lektion hast du gelernt:
- Ein Text ist eine Zeichenkette. Ihre Funktionen stehen in der Tabelle
string, und du rufst sie meist als Methoden mit einem Doppelpunkt auf:ware:upper()ist eine Kurzform vonstring.upper(ware). Ein Text im Code braucht Klammern:("="):rep(10). - Zeichenkettenfunktionen verändern einen Text nie; sie geben einen neuen zurück, den du speichern oder benutzen musst:
ware = ware:upper(). upperundlowerändern die Groß- und Kleinschreibung,len(oder#) gibt die Länge zurück,repwiederholt einen Text, undreversedreht ihn um.s:sub(i, j)gibt den Teil von der Positionibisjzurück, beide eingeschlossen; ohnejbis zum Ende. Negative Positionen zählen vom Ende:s:sub(-3)sind die letzten drei Zeichen.s:find(text, 1, true)gibt die Positionen zurück, an denen ein Text beginnt und endet, odernil. Ohne1, trueist der Text ein Muster.("%-10s %6.2f"):format(name, kg)füllt Werte auf eine Breite auf: mit einem Minus steht der Wert links, ohne rechts.%%ist ein Prozentzeichen.- Texte bestehen aus Bytes, und ein Umlaut belegt zwei.
#,subund Breiten zählen Bytes,upperundlowerändern nur a bis z, undutf8.lenzählt Zeichen. Fülle mit(" "):rep(breite - utf8.len(text))auf. - Muster haben Klassen,
%d,%a,%w,%s(Großbuchstaben für das Gegenteil) und.für ein beliebiges Zeichen; Mengen wie[^,];+,*und-für Wiederholungen;^und$für Anfang und Ende; und%vor einem Sonderzeichen.%akennt keine Umlaute. matchgibt den ersten Treffer zurück, oder seine Captures in Klammern (immer Texte), odernil.gmatchgeht alle Treffer in einerfor-Schleife durch.gsubersetzt jeden Treffer und gibt zwei Werte zurück, den neuen Text und die Anzahl:print((s:gsub("a", "b")))gibt nur den Text aus.
In der nächsten Lektion, über Objekte und Metatabellen, findest du heraus, wie der Doppelpunkt wirklich funktioniert, und gibst deinen eigenen Tabellen Methoden. Probiere aber vorher aus, was du kannst, an den Verkäufen des Tages auf dem Markt.
So schreibst du es:
Anweisungen
- 1
Gehe
verkaeufemitgmatchdurch und zeichne ein Balkendiagramm: für jede Pflanze ihren Namen, mit Leerzeichen auf 14 Zeichen aufgefüllt (zähle sie mitutf8.len), dann ein#für jedes verkaufte Stück. Achte auf die Leerzeichen nach manchen Kommas: Sie dürfen nicht in die Namen geraten. Und auch die Umlaute dürfen keine Probleme machen.Kürbisse ### Karotten ####### Äpfel ##### Erdbeeren #### - 2
Gib unter dem Diagramm aus, wie viele Stück Emma insgesamt verkauft hat und welche Pflanze sich am besten verkauft hat:
Gesamt: 19, Bestseller: Karotten.