Cast
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 32 von 90.
Um die Eingabe in einen anderen Typ umzuwandeln, müssen wir einen Cast durchführen.
Um eine Zeichenfolge in eine Zahl umzuwandeln, schreiben wir:
var = io.read()
var = tonumber(var)Oder in einer Zeile,
var = tonumber(io.read())Wenn die Eingabe eine Zahl ist, d. h. 5, 4, 54, dann wird var eine Zahl enthalten. Wenn die Eingabe eine ungültige Zahl enthält: 5ab, bb, akt usw., dann wird tonumber() den Wert nil zurückgeben.
Hier ist eine Tabelle, die zeigt, wie man in verschiedene Typen umwandelt:
| Typumwandlung | Erklärung |
| tonumber() | In eine Zahl umwandeln |
| tostring() | In einen String umwandeln |
Es ist wichtig, den richtigen Typ zu verwenden, da dies die Ausgabe beeinflussen kann.
Das Verketten zweier Strings ergibt:
"5" .. "5" = "55"
Das Addieren von zwei Zahlen ergibt:
5 + 5 = 10
Aufgabe
AnfängerIn dieser Herausforderung arbeitest du mit mehreren Eingaben und führst Berechnungen durch.
So empfängst du mehrere Eingaben:
var1 = io.read() -- Erste Eingabe
var2 = io.read() -- Zweite EingabeDeine Aufgabe:
- Lies die erste Zahl aus der Eingabe und speichere sie in einer Variablen
- Lies die zweite Zahl aus der Eingabe und speichere sie in einer anderen Variablen
- Konvertiere beide Variablen in den Typ number (für numerische Berechnungen)
- Berechne die Multiplikation dieser beiden Zahlen
- Gib das Ergebnis aus
Beispiel:
Wenn die Eingaben 2 und 4.5 sind, sollte dein Programm 9.0 ausgeben
Denke daran: Jeder Testfall enthält genau zwei Eingaben, eine nach der anderen.
Spickzettel
Typumwandlung (Casting) in Lua:
-- String in Zahl umwandeln
var = tonumber(io.read())
-- In String umwandeln
var = tostring(io.read())
-- tonumber gibt nil bei ungültiger Eingabe zurück
var = tonumber("abc") -- var ist nilWichtig: Das Verketten von Strings fügt sie zusammen, während das Addieren von Zahlen Arithmetik durchführt:
"5" .. "5" = "55" -- String-Verkettung
5 + 5 = 10 -- Numerische AdditionMehrere Eingaben:
var1 = io.read()
var2 = io.read()Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen