English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lua-Basisgrammatik

Lua ist sehr einfach zu lernen, wir können den ersten Lua-Programm erstellen!

Erster Lua-Programm

Interaktiver Programmiermodus

Lua bietet den interaktiven Programmiermodus. Wir können Programme in der Befehlszeile eingeben und sofort das Ergebnis sehen.

Der interaktive Programmiermodus von Lua kann mit dem Befehl lua -i oder lua, um zu aktivieren:

$ lua -i 
$ Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
>

Geben Sie im Befehlszeilenfenster folgenden Befehl ein:

> print("Hallo Welt!")

Drücken wir die Eingabetaste, das Ausgaberesultat ist wie folgt:

> print("Hallo Welt!")
Hallo Welt!
>

Skript-Programmierung

Wir können den Lua-Programmcode in eine Datei mit der Endung lua speichern und ausführen, dies wird als Skript-Programmierung bezeichnet, wie wir den folgenden Code in eine Datei namens hello.lua speichern:

print("Hallo Welt!")
print("www.w3(codebox.com)

Mit dem Namen lua ausgeführtes Skript, das die folgenden Ergebnisse liefert:

$ lua hello.lua
Hallo Welt!
de.oldtoolbag.com

Wir können den Code auch in der folgenden Form ändern, um das Skript auszuführen (hinzufügen: #!)/usr/local/bin/lua):

#!/usr/local/bin/lua
print("Hallo Welt!")
print("www.w3(codebox.com)

In dem obigen Code haben wir den Lua-Interpreter spezifiziert /usr/local/bin Verzeichnis. Fügt man das # Zeichen hinzu, ignoriert der Interpreter es. Anschließend fügen wir dem Skript ausführbare Berechtigungen hinzu und führen es aus:

./hello.lua 
Hallo Welt!
de.oldtoolbag.com

注释

单行注释

两个减号是单行注释:

--

多行注释

--[[
 多行注释
 多行注释
 --]]

标识符

Lua 标识符用于定义一个变量,函数获取其他用户定义的项。标识符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上 0 个或多个字母,下划线,数字(0 到 9)。

Es ist besser, keine Bezeichner mit Unterstrich und Großbuchstaben zu verwenden, da auch Lua-Reservewörter so aussehen.

Lua erlaubt die Verwendung von Specialzeichen wie @, $, und % um Bezeichner zu definieren. Lua ist ein Groß-/Kleinschreibungsunterschiedliches Programmiersprache. Daher wird w in Lua3codebox und w3codebox sind zwei verschiedene Bezeichner. Nachstehend sind einige korrekte Bezeichner aufgeführt:

mohd  zara  abc  move_name  a_123
myname50  _temp  j  a23b9        retVal

Schlüsselwort

Nachstehend sind die reservierten Schlüsselwörter von Lua aufgeführt. Reservierte Schlüsselwörter dürfen nicht als Konstanten oder Variablen oder andere benutzerdefinierte Bezeichner verwendet werden:

andbreakdoelse
elseifendfalsefor
functionifinlocal
nilnotorrepeat
returnthentrueuntil
whilegoto

Es wird allgemein vereinbart, dass Namen, die mit einem Unterstrich beginnen und eine Reihe von Großbuchstaben verbinden (z.B. _VERSION), für Lua-interne globale Variablen reserviert sind.

Globale Variable

Standardmäßig werden Variablen immer als global betrachtet.

Globalen Variablen muss nicht deklariert werden, sie werden erstellt, wenn einer Variable ein Wert zugewiesen wird. Wenn auf eine nicht initialisierte globale Variable zugegriffen wird, wird kein Fehler aufgetreten, es wird jedoch nur das Ergebnis nil erhalten.

> print(b)
nil
> b=10
> print(b)
10
>

Wenn du eine globale Variable löschen möchtest, musst du nur die Variable auf nil setzen.

b = nil
print(b)      --> nil

Also scheint die Variable b so gut wie nie verwendet worden zu sein. Mit anderen Worten, eine Variable existiert genau dann, wenn sie nicht nil ist.