Closed Somebodyisnobody closed 2 years ago
Call, ObjectCall, DefinitionCall, ProtectedCall und PrivateCall (letztere 2 gibts vll. nicht mehr in der Doku?) können alle auf FuncCall verweisen.
Ob man sie jetzt als deprecated ansieht oder nicht ist etwas schwierig zu sagen. in 95 % der Fälle sind sie wahrscheinlich veraltet, weil FuncCall das ersetzt. Aber wenn man halt die aufzurufende Funktion zur Laufzeit über einen String auswählen will gibt es keine richtige Alternative. Theoretisch kann man einen String basteln den man mit eval ausführt, aber das ist ein vielfaches komplizierter und langsamer als eine der Call-Funktionen zu verwenden.
Anstatt Par zu verwenden ist es in fast allen Fällen besser, benannte Parameter zu verwenden. Der einzige Vorteil von Par ist, dass man damit auf alle Parameter (egal ob benannt oder nicht) per Index zugreifen kann. Es bietet also quasi Array-artigen Zugriff auf die Parameter, was in seltenen Fällen passender sein kann, als benannte Parameter.
GetPathLength würde ich nicht wirklich als deprecated bezeichnen. Das hat Fulgen gemacht, als er GetPath eingebaut hat, was auch nur begrenzt das gleiche macht. Im Gegensatz zu den anderen Funktionen wäre GetPath zu verwenden in den allermeisten Fällen wo die Pfadlänge gefragt ist gewissermaßen umständlicher als GetPathLength.
Call, ObjectCall, DefinitionCall, ProtectedCall und PrivateCall (letztere 2 gibts vll. nicht mehr in der Doku?) können alle auf FuncCall verweisen.
Ob man sie jetzt als deprecated ansieht oder nicht ist etwas schwierig zu sagen. in 95 % der Fälle sind sie wahrscheinlich veraltet, weil FuncCall das ersetzt. Aber wenn man halt die aufzurufende Funktion zur Laufzeit über einen String auswählen will gibt es keine richtige Alternative. Theoretisch kann man einen String basteln den man mit eval ausführt, aber das ist ein vielfaches komplizierter und langsamer als eine der Call-Funktionen zu verwenden.
ProtectedCall und PrivateCall gibt es noch, sind aber nicht als deprecated markiert gewesen. Ich habe noch GameCall und GameCallEx gefunden. Wie werden diese behandelt?
Stimmt, die gibt es auch noch. GameCall(Ex) haben nicht wirklich eine alternative, also würde ich sie auch nicht als deprecated markieren.
Perfekt, dann haben wir das abgehakt!
Bei folgenden Funktionen ist unklar, ob sie veraltet sind:
Bei einigen Funktionen könnte eventuell auch auf FuncCall verwiesen werden, das kann ich aber fachlich nicht bewerten.