Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:tutorials:level2:functions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
scripting:tutorials:level2:functions [2023/09/09 17:17] fritz_98scripting:tutorials:level2:functions [2023/09/09 17:30] – [Beliebig viele Parameter] fritz_98
Zeile 201: Zeile 201:
 werden nur die ersten drei beachtet und addiert, der Rest verworfen. Die Funktion hat keine Möglichkeit, auf die Argumente zuzugreifen. Allerdings wird **kein** Fehler angezeigt! Darauf zu achten, einer Funktion nicht zu viele Argumente zu übergeben, wird dem Programmierer überlassen. werden nur die ersten drei beachtet und addiert, der Rest verworfen. Die Funktion hat keine Möglichkeit, auf die Argumente zuzugreifen. Allerdings wird **kein** Fehler angezeigt! Darauf zu achten, einer Funktion nicht zu viele Argumente zu übergeben, wird dem Programmierer überlassen.
  
-Der Nutzen, den man daraus ziehen kann, ist eingeschränkt. Im Artikel zur [[ scripting:tutorials:level2:lua_library |Lua-Standardbibliothek]] wird die Funktion ''unpack'' beschrieben, mit der ein numerisches Table ([[ scripting:tutorials:level1:tables#tables_als_listen |Liste]]) "ausgepackt" wird. Die Funktion gibt jeden Eintrag im Table einzeln als Rückgabewert aus (siehe auch den Abschnitt [[ scripting:tutorials:level2:functions#verkuerzte_funktionsaufrufe |oben]] über mehrere Rückgabewerte). ''unpack'' kann also dazu benutzt werden, die Inhalte eines numerischen Tables einzeln als Argumente zu übergeben. Mit der Funktion ''SumOfThree'' können so die ersten drei Zahlen in so einem Table addiert werden:+Der Nutzen, den man daraus ziehen kann, ist eingeschränkt. Im Artikel zur [[ scripting:tutorials:level2:lua_library |Lua-Standardbibliothek]] wird die Funktion ''unpack'' beschrieben, mit der ein numerisches Table ([[ scripting:tutorials:level1:tables#tables_als_listen |Liste]]) "ausgepackt" wird. Die Funktion gibt jeden Eintrag im Table einzeln als Rückgabewert aus (siehe auch den Abschnitt [[ scripting:tutorials:level2:functions#mehrere_rueckgabewerte |oben]] über mehrere Rückgabewerte). ''unpack'' kann also dazu benutzt werden, die Inhalte eines numerischen Tables einzeln als Argumente zu übergeben. Mit der Funktion ''SumOfThree'' können so die ersten drei Zahlen in so einem Table addiert werden:
 <code lua> <code lua>
 local Numbers = {3, 25, 14, 9, 11, 17, 36} local Numbers = {3, 25, 14, 9, 11, 17, 36}
Zeile 342: Zeile 342:
 </code> </code>
 Nach dem Aufruf hat ''MyTable'' 8 Einträge, wurde also um alle Werte, die der Funktion übergeben wurden, erweitert. Nach dem Aufruf hat ''MyTable'' 8 Einträge, wurde also um alle Werte, die der Funktion übergeben wurden, erweitert.
 +
 +**Achtung**: Die Parameter können in diesem Fall nicht umgekehrt angegeben werden (also nicht ''MultiInsert(..., _Table)''! Die Funktion kann beim Aufruf nicht wissen, welche Argumente zu ''...'' und welche zu ''_Table'' gehören. Deshalb besteht generell die Regel, dass zuerst die festen/notwendigen Parameter angegeben werden müssen, bevor man die Funktion für beliebig viele weitere Parameter mit ''...'' "öffnet".
  
 ---- ----
scripting/tutorials/level2/functions.txt · Zuletzt geändert: 2024/05/17 10:02 von fritz_98