Reviewed and corrected basics/script.md

This commit is contained in:
debiankaios 2022-12-16 17:33:20 +01:00
parent 76fc5e98b8
commit 3c0c956278

View File

@ -18,9 +18,9 @@ redirect_from: /de/chapters/lua.html
- [Arithmetische, also Mathematische, Operatoren](#arithmetische-also-mathematische-operatoren) - [Arithmetische, also Mathematische, Operatoren](#arithmetische-also-mathematische-operatoren)
- [Auswahl](#auswahl) - [Auswahl](#auswahl)
- [Logische Operatorens](#logische-operatoren) - [Logische Operatorens](#logische-operatoren)
- [Progarmmierung](#programmierung) - [Programmierung](#programmierung)
- [Lokale und globale Reichweite](#lokale-und-globale-reichweite) - [Lokale und globale Reichweite](#lokale-und-globale-reichweite)
- [Es sollte so viel wie möglich auf lokale Variablen zurückgegriffen werden.](#es-sollte-so-viel-wie-möglich-auf-lokale-variablen-zurckgegriffen-werden) - [Es sollte so viel wie möglich auf lokale Variablen zurückgegriffen werden.](#es-sollte-so-viel-wie-möglich-auf-lokale-variablen-zurückgegriffen-werden)
- [Einbindung anderer Lua-Skripte](#einbindung-anderer-lua-skripte) - [Einbindung anderer Lua-Skripte](#einbindung-anderer-lua-skripte)
## Code-Editoren ## Code-Editoren
@ -50,9 +50,8 @@ Die Schlüsselwörter in diesem Beispiel sind hervorgehoben, einschließlich `if
Zu den häufig verwendeten Editoren, die sich gut für Lua eignen, gehören: Zu den häufig verwendeten Editoren, die sich gut für Lua eignen, gehören:
* [VSCode](https://code.visualstudio.com/) - quelloffen (als Code-OSS oder VSCodium), populär, und hat [Plugins für Minetest Modding](https://marketplace.visualstudio.com/items?itemName=GreenXenith.minetest-tools). * [VSCode 🇬🇧](https://code.visualstudio.com/) - quelloffen (als Code-OSS oder VSCodium), populär, und hat [Plugins für Minetest Modding 🇬🇧](https://marketplace.visualstudio.com/items?itemName=GreenXenith.minetest-tools).
* [Notepad++](http://notepad-plus-plus.org/) - nur für Windows * [Notepad++ 🇬🇧](http://notepad-plus-plus.org/) - nur für Windows
* [Atom](http://atom.io/)
Andere geeignete Editoren sind ebenfalls verfügbar. Andere geeignete Editoren sind ebenfalls verfügbar.
@ -90,26 +89,26 @@ Das `=`-Zeichen bedeutet *assignment* (Deutsch: Zuweisung), also bedeutet `resul
Eine Variable hat nur einen der folgenden Typen und kann nach einer Zuweisung den Typ wechseln. Es ist gute Praxis, sicherzustellen, dass eine Variable immer nur nil oder einen einzigen Nicht-Nil-Typ hat. Eine Variable hat nur einen der folgenden Typen und kann nach einer Zuweisung den Typ wechseln. Es ist gute Praxis, sicherzustellen, dass eine Variable immer nur nil oder einen einzigen Nicht-Nil-Typ hat.
| Typ | Beschreibung | Beispiel | | Typ | Beschreibung | Beispiel |
|----------|---------------------------------|----------------| |----------|-----------------------------------------------------------------|----------------|
| Nil | Nicht initialisiert. Die Variable ist leer, sie hat keinen Wert | `local A`, `D = nil` | | Nil | Nicht initialisiert. Die Variable ist leer, sie hat keinen Wert | `local A`, `D = nil` |
| Number | Eine ganze oder dezimale Zahl. | `local A = 4` | | Number | Eine ganze oder dezimale Zahl. | `local A = 4` |
| String | Ein Stück Text. | `local D = "one two three"` | | String | Ein Stück Text. | `local D = "one two three"` |
| Boolean | True oder False. (Wahr oder Falsch) | `local is_true = false`, `local E = (1 == 1)` | | Boolean | True oder False. (Wahr oder Falsch) | `local is_true = false`, `local E = (1 == 1)` |
| Table | Listen. | Explained below. | | Table | Listen. | Unten erklärt. |
| Function | Kann ausgeführt werden. Kann Eingaben erfordern und einen Wert zurückgeben. | `local result = func(1, 2, 3)` | | Function | Kann ausgeführt werden. Kann Eingaben erfordern und einen Wert zurückgeben. | `local result = func(1, 2, 3)` |
### Arithmetische, also Mathematische, Operatoren ### Arithmetische, also Mathematische, Operatoren
Zu den Operatoren in Lua gehören: Zu den Operatoren in Lua gehören:
| Symbol | Zweck | Beispiel | | Symbol | Zweck | Beispiel |
|--------|----------------|---------------------------| |--------|---------------------------|---------------------------|
| A + B | Addition | 2 + 2 = 4 | | A + B | Addition | 2 + 2 = 4 |
| A - B | Subtraktion | 2 - 10 = -8 | | A - B | Subtraktion | 2 - 10 = -8 |
| A * B | Multiplikation | 2 * 2 = 4 | | A * B | Multiplikation | 2 * 2 = 4 |
| A / B | Division | 100 / 50 = 2 | | A / B | Division | 100 / 50 = 2 |
| A ^ B | Befugnisse | 2 ^ 2 = 2<sup>2</sup> = 4 | | A ^ B | Potenzieren | 2 ^ 2 = 2<sup>2</sup> = 4 |
| A .. B | Zeichenketten verbinden | "foo" .. "bar" = "foobar" | | A .. B | Zeichenketten verbinden | "foo" .. "bar" = "foobar" |
Bitte beachten Sie, dass diese Liste nicht vollständig ist; sie enthält nicht alle möglichen Operatoren. Bitte beachten Sie, dass diese Liste nicht vollständig ist; sie enthält nicht alle möglichen Operatoren.
@ -134,17 +133,17 @@ Dies erzeugt eine Zufallszahl zwischen 1 und 100. Es gibt dann "Woohoo!" aus, we
Zu den logischen Operatoren in Lua gehören: Zu den logischen Operatoren in Lua gehören:
| Symbol | Zweck | Beispiel | | Symbol | Zweck | Beispiel |
|---------|--------------------------------------|-------------------------------------------------------------| |---------|-----------------------------------------------------|-------------------------------------------------------------|
| A == B | Gleich | 1 == 1 (true), 1 == 2 (false) | | A == B | Gleich | 1 == 1 (true), 1 == 2 (false) |
| A ~= B | nicht gleich | 1 ~= 1 (false), 1 ~= 2 (true) | | A ~= B | nicht gleich | 1 ~= 1 (false), 1 ~= 2 (true) |
| A > B | Größer als | 5 > 2 (true), 1 > 2 (false), 1 > 1 (false) | | A > B | Größer als | 5 > 2 (true), 1 > 2 (false), 1 > 1 (false) |
| A < B | Kleiner als | 1 < 3 (true), 3 < 1 (false), 1 < 1 (false) | | A < B | Kleiner als | 1 < 3 (true), 3 < 1 (false), 1 < 1 (false) |
| A >= B | Größer als oder gleich | 5 >= 5 (true), 5 >= 3 (true), 5 >= 6 (false) | | A >= B | Größer als oder gleich | 5 >= 5 (true), 5 >= 3 (true), 5 >= 6 (false) |
| A <= B | Kleiner als oder gleich | 3 <= 6 (true), 3 <= 3 (true) | | A <= B | Kleiner als oder gleich | 3 <= 6 (true), 3 <= 3 (true) |
| A and B | Und (beides muss `True`, also wahr sein) | (2 > 1) and (1 == 1) (true), (2 > 3) and (1 == 1) (false) | | A and B | Und (beides muss `true`, also wahr sein) | (2 > 1) and (1 == 1) (true), (2 > 3) and (1 == 1) (false) |
| A or B | Entweder oder. Eines oder beide müssen wahr sein. | (2 > 1) or (1 == 2) (true), (2 > 4) or (1 == 3) (false) | | A or B | Entweder oder. Eines oder mehrere müssen wahr sein. | (2 > 1) or (1 == 2) (true), (2 > 4) or (1 == 3) (false) |
| not A | Nicht `True`, also nicht wahr | not (1 == 2) (true), not (1 == 1) (false) | | not A | Nicht `true`, also nicht wahr | not (1 == 2) (true), not (1 == 1) (false) |
Bitte beachten Sie, dass dies nicht alle möglichen Operatoren enthält. Bitte beachten Sie, dass dies nicht alle möglichen Operatoren enthält.
@ -152,11 +151,11 @@ Es ist auch möglich, Operatoren zu kombinieren. Zum Beispiel:
```lua ```lua
if not A and B then if not A and B then
print("Yay!") print("Juhu!")
end end
``` ```
Dies gibt "Yay!" aus, wenn A `False`, also falsch, und B `True`, also wahr, ist. Dies gibt "Juhu!" aus, wenn A `False`, also falsch, und B `True`, also wahr, ist.
Logische und arithmetische Operatoren funktionieren auf die gleiche Weise; beide akzeptieren Eingaben und geben einen Wert zurück, der gespeichert werden kann. Zum Beispiel: Logische und arithmetische Operatoren funktionieren auf die gleiche Weise; beide akzeptieren Eingaben und geben einen Wert zurück, der gespeichert werden kann. Zum Beispiel:
@ -168,18 +167,18 @@ if ist_gleich then
end end
``` ```
## Progarmmierung ## Programmierung
Beim Programmieren geht es darum, ein Problem, z. B. das Sortieren einer Liste Beim Programmieren geht es darum, ein Problem, z. B. das Sortieren einer Liste
und in Schritte umzuwandeln, die ein Computer verstehen kann. und in Schritte umzuwandeln, die ein Computer verstehen kann.
Ihnen den logischen Prozess des Programmierens beizubringen, würde den Rahmen dieses Buches sprengen. Die folgenden Websites sind jedoch sehr nützlich, um dies zu entwickeln: Ihnen den logischen Prozess des Programmierens beizubringen, würde den Rahmen dieses Buches sprengen. Die folgenden Websites sind jedoch sehr nützlich, um dies zu entwickeln:
* [Codecademy](http://www.codecademy.com/) ist eine der besten Ressourcen, um * [Codecademy 🇬🇧](http://www.codecademy.com/) ist eines der besten Quellen, um zu
Lernen, wie man Code schreibt. Sie bietet ein interaktives Lernprogramm. Lernen, wie man Code schreibt. Sie bietet ein interaktives Lernprogramm an.
* [Scratch](https://scratch.mit.edu) ist eine gute Ressource, um mit den * [Scratch](https://scratch.mit.edu) ist eine gute Quelle, um mit den
absoluten Grundlagen zu beginnen und die zum Programmieren erforderlichen Problemlösungstechniken zu erlernen.\\ absoluten Grundlagen zu beginnen und die zum Programmieren erforderlichen Problemlösungstechniken zu erlernen.\\
Scratch wurde entwickelt, um Kindern das Programmieren beizubringen und ist keine ernsthafte, sondern ein Blockbasierte Programmiersprache. Scratch *wurde konzipiert, um Kindern das Programmieren beizubringen* und ist keine ernsthafte, sondern eine Block basierte Programmiersprache.
## Lokale und globale Reichweite ## Lokale und globale Reichweite
@ -200,7 +199,7 @@ function myfunc()
end end
``` ```
Im Gegensatz dazu kann auf globale Variablen von jeder Stelle in der Skriptdatei aus zugegriffen werden und von jeder anderen Mod aus. Im Gegensatz dazu, kann auf globale Variablen von jeder Stelle in der Skriptdatei aus zugegriffen werden und von jeder anderen Mod aus.
```lua ```lua
function one() function one()