[Info] Lua 5.0 (Metin Version) - varargs

11/09/2015 20:54 rollback#1
Heute teile ich mit euch eine kleine Info, die für einige Dinge sehr nützlich sein kann.

Varargs in Lua 5.0:
Varargs nutzt ihr, indem ihr in die Liste der Übergabeparameter folgende Variable angebt:
Code:
...
hierfür gelten die selben Regeln wie in fast allen Sprachen, die varargs müssen in der Liste der Übergabeparameter als letztes stehen.

Alle an dieser Stelle übergebenen Werte sind innerhalb der Funktion unter dem Table arg ansprechbar. Dieser Table ist nie nil! Werden an dieser Stelle keine Argumente übergeben ist der Table einfach leer ({}).


Anwendungsbeispiel:
Hier ein kurzes Beispiel, wie ich es benutze
Code:
local __say = say
function say(str, ...)
	__say(string.format(str, unpack(arg)))
end
Damit kann ich meinen String formartieren, ohne string.format aufzurufen, wodurch die Quests deutlich übersichtlicher werden:
Code:
say("%s hat Level %d erreicht!", pc.get_name(), pc.get_level())

Ich hoffe, dass ihr damit etwas anfangen könnt. Wenn euch mehr solcher kleinen Infos interessieren würden, meldet euch bitte mit eurem Feedback hier im Thread ;)
11/10/2015 15:35 Metin2 Team#2
good job!
that's helpful.

Thanks :)