Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:tutorials:level1:variables

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

Variablen

Variablen sind Behälter für einen beliebigen Wert, den man mit Lua ausdrücken kann. Eine Variable besteht aus ihrem Namen (Key) und ihrem Inhalt (Value). Über ihren Namen kann eine Variable eindeutig identifiziert bzw. ihr Inhalt abgerufen werden.
In Lua wird eine Variable definiert, indem ihr Name, gefolgt von einem =-Zeichen, einem Wert zugewiesen wird.

Ein Beispiel:

Result = 42

Der Name dieser Variable ist Result, ihr Inhalt 42. Eine Variable auf diese Art zu definieren wird auch Zuweisung genannt, wie im Kochrezeptbeispiel erklärt.

Beim Namen für eine Variable ist zu beachten, dass zwischen Groß- und Kleinschreibung unterschieden wird. Folgender Code würde zwei verschiedene Variablen erschaffen, die nichts miteinander zu tun haben:

Result = 42
result = 41

Auch dürfen in Variablennamen ausschließlich Groß- und Kleinbuchstaben (ausgenommen Umlaute), Ziffern und der Unterstrich vorkommen. Der Variablenname darf nicht mit einer Ziffer beginnen. Wir listen einige gültige und ungültige Variablennamen im folgenden Beispiel auf:

Result = 42     -- gültig
_Result = 42    -- gültig
R3su1t = 42     -- gültig
 
4tytwo = 42     -- ungültig!
Zaubärzahl = 42 -- ungültig!
 
-- Wir verwenden ab jetzt regelmäßig diese Kommentare in Codebeispielen.
-- Kommentare sind kein Programmcode, sondern machen den gegebenen Code durch
-- unterstützende Erklärungen besser verständlich.
-- Kommentare werden in Lua mit -- eingeleitet

Wichtig: Das =-Zeichen bei der Variablenzuweisung hat nichts mit dem =-Zeichen zu tun, wie man es aus der Mathematik kennt. Man kann nicht einfach ein Gleichungssystem ins Skript tippen, das dann vom Programm gelöst wird!
Eine Zuweisung arbeitet in einer fest vorgegebenen Reihenfolge:

  1. Nimm den Wert, der rechts vom =-Zeichen steht
  2. Speichere diesen Wert unter dem Namen, der auf der linken Seite steht, ab

Dementsprechend müssen die Werte, die jeweils links und rechts vom = stehen, nicht notwendigerweise gleich sein. Dies wird offensichtlich, wenn man beginnt, mit Variablen zu rechnen. Dazu folgen nun einige Kapitel für die jeweiligen Datentypen, die eine Variable halten kann.


Zahlen

Lua kann sowohl mit ganzen Zahlen als auch Dezimalzahlen arbeiten. Bei letzteren ist zu beachten, dass das Dezimaltrennzeichen kein Komma, sondern ein Punkt ist:

DecimalNumber = 4.2

Für Zahlen stehen in Lua die gängigen Rechenoperationen zur Verfügung:

Zeichen Rechenoperation Beispiel
+ Addition
 Result = 40 + 2 
- Subtraktion
 Result = 48 - 6 
* Multiplikation
 Result = 7 * 6 
/ Division
 Result = 84 / 2 
^ Exponentiation
 Result = 3.4761^3 
- Negation (einzelner Wert)
 Result = - (- 42) 

Im letzten Beispiel haben wir noch Klammern eingesetzt, um die Berechnungsreihenfolge festzulegen. Ohne Klammerung gilt Punkt vor Strich (bzw. Exponentiation hat die höchste Priorität von allen). Für einige weitere mathematische Operationen siehe die math-Übersicht FIXME

Wenn man mehr als eine Variable hat, kann man diese auch untereinander verrechnen:

FirstNumber = 32
SecondNumber = 2
ThirdNumber = 0.5
FourthNumber = 10.5
Result = ( FirstNumber / SecondNumber )^ThirdNumber * FourthNumber

An folgendem Beispiel kann man leicht erkennen, dass das =-Zeichen der Zuweisung dient und keinen mathematisch korrekten Ausdruck formuliert:

FirstNumber = 5
-- Berechne zuerst den Wert rechts vom = : Das ergibt 15, weil FirstNumber zu dem 
-- Zeitpunkt noch den Wert 5 hat. Erst danach wird 15 als die neue FirstNumber abgespeichert
FirstNumber = FirstNumber + 10
SecondNumber = FirstNumber - 3
SecondNumber = SecondNumber / 2
ThirdNumber = FirstNumber * SecondNumber
ThirdNumber = ThirdNumber - 48

Strings

Strings sind Zeichenketten und werden meistens für die Darstellung von Text verwendet. Strings beginnen und enden mit Anführungszeichen:

Text = "Hallo Welt"

Strings können mit zwei aufeinanderfolgenden Punkten miteinander verkettet werden:

Text1 = "Hallo "
Text2 = "Welt"
Text3 = Text1..Text2

Auf diese Art verkettet können auch Variablen mit Zahlenwert in einen String eingefügt werden:

MyNumber = 42
Text = "Die Antwort lautet "..MyNumber.."! Großartig!"

FIXME TODO: Zeichen, die nicht erlaubt sind und escaped werden müssen


Booleans

scripting/tutorials/level1/variables.1683654270.txt.gz · Zuletzt geändert: 2023/05/09 17:44 von fritz_98