Typen, Werte und Ausdrücke in Lua

Inhaltsverzeichnis
Lua Es ist eine dynamische Sprache, wenn es um Datentypen und deren Werte geht, d. h. es gibt keine Definitionen irgendeines Typs, wenn eine Variable erstellt wird und angegeben wird, dass es sich um einen String, eine Zahl oder gar einen Booleschen Wert handelt.
Ausdrücke gehen Hand in Hand mit 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 wir besitzen in Lua und wie sie innerhalb der Sprache funktionieren.
In Lua Jeder Wert lädt seinen eigenen Typ, in dem wir acht verschiedene Typen davon finden: Null, Boolean, Zahl, Zeichenfolge, Benutzerdaten, Funktion, Thread und Tabelle, wobei mit der Funktion Typ () Wir können den Typnamen des angegebenen Werts kennen. Sehen wir uns ein einfaches Beispiel an, wie Lua interpretiere dies entsprechend Typ ():

Wie wir sehen, wird der Typ durch den Wert angegeben, der geladen wird und die angegebene Funktion hilft uns zu wissen, was es ist Typ () ist immer string. Da haben wir gesehen wie Lua Wenn Sie die Datentypen interpretieren, sehen wir uns jeden dieser Datentypen im Detail an:
NullDies ist ein Werttyp, dessen Haupteigenschaft sich von anderen Werten unterscheiden soll. Wie wir im letzten Tutorial gesehen haben, hat eine globale Variable standardmäßig den Wert Null und wenn wir es eliminieren wollen, weisen wir diesen Wert zu, wir können ihn sogar verwenden, um das Fehlen eines nützlichen Wertes darzustellen.
BooleschesBoolesche Werte haben, wie in den anderen Programmiersprachen, zwei Werte, wahr und falsch, aber im Gegensatz zu anderen Sprachen hat dieser Datentyp keine Gesamtdomäne über Bedingungen, da jeder eine Bedingung darstellen kann.
NummerDieser Datentyp repräsentiert sowohl ganze Zahlen als auch Dezimalzahlen. Lua hat keinen Integer-Werttyp und braucht ihn auch nicht, da Lua es kann jede 32-Bit-Ganzzahl ohne Rundungsprobleme darstellen, aber das Interessanteste an der Sprache ist, dass wir sie kompilieren können, um einen anderen Typ zu verwenden, z Unterstützung für Dezimalzahlen.
ZeichenfolgeDie Saiten in Lua Sie sind eine Folge von Zeichen, sie sind unveränderliche Werte, dh wir können ein Zeichen innerhalb der Zeichenfolge nicht ändern. Sie werden wie alle anderen Objekte vom automatischen Gedächtnis der Sprache behandelt und die Zuweisung der Zeichenfolge kann in doppelten oder einfachen Anführungszeichen erfolgen.
TischDer Tabellendatentyp implementiert ein assoziatives Array, bei dem es sich um ein Array handelt, das nicht nur mit Zahlen, sondern auch mit Strings oder jedem anderen Sprachwert außer nil indiziert werden kann. Die Tabellen haben keine feste Größe, sodass wir beliebig viele Elemente aufnehmen und damit Module, Pakete und Objekte gleichermaßen darstellen können. Schließlich ist die Erstellung so einfach wie die Verwendung der Klammern {} bei der Tabelleninitialisierung.
MerkmaleDie Funktionen in Lua sie haben ein ziemlich eigenartiges Verhalten, wir können sie in Variablen speichern, sie als Argumente an andere Funktionen übergeben und sie sogar als Ergebnisse zurückgeben, wobei Lua Sie können diese Funktionen sowohl in der Sprache selbst als auch in C geschrieben aufrufen.
BenutzerdatenDie Art der Daten Benutzerdaten ermöglicht das Speichern in Variablen von Lua beliebige Informationen aus C. Es hat keine vordefinierten Operationen auf Lua, mit Ausnahme der Zuweisungs- und Gleichheitstests, bei denen die Hauptfunktion dieses Typs darin besteht, neue Typen als solche darzustellen, die von einer Anwendung oder einer in C geschriebenen Bibliothek erstellt wurden.
Wie wir sehen, unterscheiden sich die Typen nicht sehr von dem, was wir in aktuellen Sprachen finden können, aber sicher ist, dass die Einfachheit, die wir haben, um sie darzustellen, viel größer ist, dann sehen wir uns die Rolle von Ausdrücken an und wie wir sie verwenden können mit unseren Werten.
Arithmetische Operationen sind für jedes Programm extrem wichtig und es ist wichtig zu wissen, wie man sie handhabt und welche Einschränkungen in der von uns verwendeten Sprache bestehen können. Lua es unterstützt die üblichen Operatoren, die wir gewohnt sind: Addition, Subtraktion, Multiplikation, Division, Exponential, Prozent und Negation.
Sehen wir uns dann einen einfachen Code an, in dem wir die Verwendung einiger Operatoren von demonstrieren Lua:
 x = 8 + 5 y = 9 - 2 drucken (x * y% 0,01)
Wir verwenden Addition, Subtraktion und Division durch 2 für das Ergebnis einer Multiplikationsoperation. Sehen wir uns an, wie der Interpreter reagiert, wenn wir unseren Code über die Konsole ausführen:

VERGRÖSSERN

Wie wir sehen, unterscheidet sich Lua bei arithmetischen Operationen nicht wesentlich von den anderen Sprachen, aber seine Einfachheit beim Schreiben von Code macht es für die Programmentwicklung recht einfach zu handhaben.
Lua wie andere Sprachen gibt es uns relationale Operatoren wie größer als>, kleiner als <, kleiner oder gleich =, gleich-gleich == und Negation ~ =. Wir sehen, dass der einzige Unterschied vielleicht die Verweigerung ist, aber wenn wir uns daran gewöhnt haben, wird es keine Probleme mit der 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 Vergleiche Lua Es führt sie zusätzlich zu anderen Faktoren basierend auf dem Typ durch. Sehen wir uns im folgenden Code an, wo der Vergleich basierend auf demselben Objekt durchgeführt wird:
 a = {}; a.x = 1; a.y = 0 b = {}; b.x = 1; b.y = 0 c = a
Wenn wir dasselbe vergleichen, ergibt das Ergebnis der Operation, dass a gleich c ist, aber a sich von b unterscheidet, dies liegt daran, dass es sich um dasselbe Objekt handelt. Außerdem müssen wir beim Vergleich verschiedener Typen sehr vorsichtig sein, da beispielsweise 6 sich von "6" unterscheidet und wenn wir etwas wie "3" <"8" machen Lua es wird einen Fehler geben, da wir die Saiten mischen.
Die logischen Operatoren in Lua sie sind das und, oder und nicht. Wenn ein Vergleich mit diesen Operatoren durchgeführt wird, wird das erste Argument zurückgegeben, wenn es falsch ist, andernfalls wird das zweite zurückgegeben.Sehen wir uns eine Reihe von Beispielen in der interaktiven Konsole an, um das oben Genannte zu demonstrieren.

VERGRÖSSERN

Um eine Verkettung in durchzuführen Lua ist durch den Doppelpunkt, es ändert die Syntax ein wenig in Bezug auf andere Sprachen, aber genauso ist es ziemlich einfach, aber Lua Es geht immer etwas weiter und wenn es eine Zahl findet und es eine Verkettungsoperation gibt, wandelt es sie in eine Zeichenfolge um. Sehen wir uns zwei einfache Beispiele für diese Operation an:

VERGRÖSSERN

Wie wir für den ersten Fall sehen, wird die Operation problemlos durchgeführt, und für den zweiten Fall haben wir Zahlen, Lua wandelt sie automatisch in Zeichenfolgen um. Beachten Sie, dass Zeichenfolgen unveränderlich sind, sodass diese Operation immer eine neue Zeichenfolge erstellt, ohne Änderungen an ihrem Operanden vorzunehmen.
Schließlich haben wir die Konstruktoren, die Ausdrücke sind, die es uns ermöglichen, Tabellen zu erstellen und zu initialisieren. Diese Funktion ist einzigartig für Lua und es ist einer seiner vielseitigsten und mächtigsten Mechanismen. Wir können problemlos einen leeren Konstruktor nur mit den Klammern verwenden {} wodurch eine leere Tabelle als solche erstellt wird. Diese können auch Arrays oder Listen initialisieren, sehen wir uns ein Beispiel an:
 Tage = {"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"}
Hier erstellen wir eine Liste mit den Wochentagen und wenn wir auf ihre Elemente zugreifen möchten, indem wir den Index desselben angeben, den wir haben, zum Beispiel um Donnerstag zu erhalten, wäre es die Indexnummer 5 oder Sonntag wäre es die Nummer 1, seit Lua Es wird nicht wie der Rest der Sprachen auf Null initialisiert. Schauen wir uns an, wie es aussieht, wenn wir es in unserer Konsole ausführen:

Wir können auch eigene assoziative Arrays vom Typ Schlüsselwert erstellen:
Array = {x = 26, y = 67}
Es ist jedoch wichtig, dass wir, um auf seine Werte zuzugreifen, mit doppelten Rest-Anführungszeichen auf den Index verweisen. Wir erhalten den Wert nil, wir sehen unsere Operation in der interaktiven Konsole:

Damit beenden wir das Tutorial, wo wir das sehen konnten Lua dehnt seine Einfachheit auf alle Kanten aus, aus denen es besteht, von den dynamischen Typen, die es verarbeitet, der einfachen Art und Weise, Zuweisungen vorzunehmen, dem Umgang mit relationalen und logischen Operatoren sowie der Bereitstellung äußerst nützlicher Werkzeuge wie Verkettungen und Konstruktoren, um unsere die Sprache so angenehm und angenehm wie möglich zu erleben.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave