Die Ausdrücke gehen Hand in Hand mit den Werten. Diese ermöglichen es uns, Operationen mit ihnen durchzuführen, die von arithmetischen, relationalen und sogar bedingten Operationen reichen können, um unseren Programmen Dynamik zu verleihen. Bevor wir jedoch mit den Ausdrücken weitermachen, wollen wir uns die Arten der Werte ansehen, die sie enthalten Wir haben in Lua und in welcher Form arbeiten sie in der Sprache.
Typen und Werte
In Lua lädt jeder Wert seinen eigenen Typ, in dem wir acht verschiedene Typen finden können: nil, boolean, number, string, userdata, function, thread und table , wobei wir mit der type () – Funktion den Namen des Typs der gegebener Wert. Schauen wir uns ein einfaches Beispiel an, wie Lua dies nach type () interpretiert:
Wie wir sehen, ist der Typ durch den Wert gegeben, der geladen wird, und die festgelegte Funktion hilft uns zu wissen, was es ist. Wir können sehen, dass selbst im letzten Fall der Variablen H das Ergebnis string ist, und das liegt daran, dass die type () -Funktion immer string ist . Da wir gesehen haben, wie Lua die Datentypen interpretiert, wollen wir uns jedes dieser Elemente genauer ansehen:
Da wir sehen, dass die Typen nicht viel von dem widersprechen, was wir in aktuellen Sprachen finden können, aber was sicher ist, dass die Einfachheit, mit der wir sie darstellen müssen, viel größer ist, wollen wir die Rolle der Ausdrücke sehen und wie wir sie mit unseren verwenden können werte.
Rechenoperationen
Arithmetische Operationen sind für jedes Programm äußerst wichtig, und es ist wichtig zu wissen, wie damit umgegangen wird und welche Einschränkungen in der von uns verwendeten Sprache bestehen können. Lua unterstützt die herkömmlichen Operatoren, an die wir gewöhnt sind: Addition, Subtraktion, Multiplikation, Division, Exponential, Prozentsatz und Negation.
Schauen wir uns dann einen einfachen Code an, in dem wir die Verwendung einiger Lua- Operatoren demonstrieren:
x = 8 + 5 y = 9 - 2 print (x * und% 0,01)
Wir verwenden Addition, Subtraktion und Division zwischen 2 als Ergebnis einer Multiplikationsoperation. Sehen wir uns an, wie der Interpreter reagiert, wenn wir unseren Code über die Konsole ausführen:
Wie wir sehen, unterscheidet sich Lua in Bezug auf die Rechenoperationen nicht wesentlich von den übrigen Sprachen, aber seine Einfachheit beim Schreiben von Code macht es für die Entwicklung von Programmen recht einfach.
Vergleichsoperatoren
Lua gibt uns wie andere Sprachen Operatorenbeziehungen wie größer als>, kleiner als <, kleiner oder gleich <= oder größer oder gleich> =, gleich-gleich == und Negation ~ =. Wir sehen, dass das Einzige, was sich vielleicht unterscheidet, die Negation ist, aber nachdem wir uns daran gewöhnt haben, wird es keine Probleme mit ihrer Verwendung geben.
Alle diese Operatoren können true oder false zurückgeben, wobei wir sogar sowohl den Gleichheitsoperator als auch den Negationsoperator auf zwei Werte anwenden können. Diese Lua- Vergleiche basieren neben anderen Faktoren auf dem Typ. Sehen wir uns im folgenden Code an, wo der Vergleich basierend auf demselben Objekt durchgeführt wird:
a = {}; ax = 1; ay = 0 b = {}; bx = 1; um = 0 c = a
Wo, wenn wir sie vergleichen, das Ergebnis der Operation uns ergibt, dass a gleich c ist, aber dass a verschieden ab ist, dies für ein Subjekt, von dem sie dasselbe Objekt sind. Außerdem müssen wir sehr vorsichtig sein, wenn wir verschiedene Typen vergleichen, da beispielsweise 6 von “6” abweicht und wenn wir so etwas wie “3” <“8” machen, wird Lua einen Fehler melden, da wir die Zeichenfolgen mischen.
Logische Operatoren
Die logischen Operatoren in Lua sind und oder und nicht. Wenn ein Vergleich mit diesen Operatoren durchgeführt wird, wird das erste Argument zurückgegeben, falls es falsch ist. Im umgekehrten Fall wird das zweite zurückgegeben. Schauen wir uns eine Reihe von Beispielen in der interaktiven Konsole an, um das oben Genannte zu demonstrieren.
Verkettung
Um die Verkettung in Lua durchzuführen, müssen Sie die Syntax in Bezug auf die anderen Sprachen ein wenig ändern, aber auf die gleiche Weise ist es ganz einfach, aber Lua geht immer ein bisschen weiter und wenn es eine Zahl gibt und eine Operation von Verkettung es konvertiert es in eine Zeichenfolge, lassen Sie uns zwei einfache Beispiele für diese Operation sehen:
Wie wir für den ersten Fall sehen, wird die Operation ohne Probleme ausgeführt, und für den zweiten Fall, dass wir Zahlen haben, konvertiert Lua diese automatisch in Zeichenketten. Beachten Sie, dass Zeichenfolgen unveränderlich sind. Bei dieser Operation wird immer eine neue Zeichenfolge erstellt, ohne dass Änderungen an ihrem Operanden vorgenommen werden.
Bauherren
Schließlich haben wir die Konstruktoren, Ausdrücke, mit denen wir Tabellen erstellen und initialisieren können. Diese Funktion ist einzigartig in Lua und einer der vielseitigsten und leistungsfähigsten Mechanismen. Wir können einen leeren Konstruktor problemlos nur mit den Klammern {} verwenden, wodurch eine leere Tabelle als solche erstellt wird. Diese können auch Fixes oder Listen initialisieren, sehen wir uns ein Beispiel an:
dias = {"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"}
Hier erstellen wir eine Liste mit den Wochentagen und wenn wir auf deren Elemente zugreifen möchten, geben Sie den Index desselben an, den wir haben. Zum Beispiel wäre Donnerstag die Indexnummer 5 oder Sonntag die Nummer 1, da Lua nicht initialisiert wird Null wie der Rest der Sprachen, lassen Sie uns sehen, wie es aussieht, wenn wir es in unserer Konsole ausführen:
Wir können auch eigene assoziative Arrays mit dem Schlüsseltyp value erstellen:
fix = {x = 26, y = 67}
Um jedoch auf ihre Werte zugreifen zu können, müssen wir mit doppelten Anführungszeichen den Wert nil auf den Index verweisen. Sehen wir uns unsere Operation in der interaktiven Konsole an:
Damit beenden wir das Tutorial, in dem wir sehen konnten, dass Lua seine Einfachheit auf alle Kanten ausdehnt, die es bilden, von den dynamischen Typen, die es handhabt, der einfachen Art, Zuweisungen vorzunehmen, die Verwaltung relationaler und logischer Operatoren sowie die Bereitstellung von Werkzeugen Sehr nützlich als Verkettung und Konstrukteur, um unsere Erfahrung mit Sprache so angenehm und angenehm wie möglich zu machen.