Surcharges fonctionnelles dans JSL?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hey,
Je viens de commencer à travailler avec les fonctions en JSL. Je me demande s’il existe un moyen de créer des fonctions de surcharge similaires à C ++ / C #.
Même si JSL ne le prend pas officiellement en charge, il existe peut-être un moyen de créer des pseudo surcharges, comme avec VBScript avec CASE / WHERE. Quelqu'un at-il essayé cela?
Merci!
Re: surcharge de fonctions dans JSL?Merci, j'ai trouvé une bonne discussion sur les arguments optionnels après une recherche. Cela fournit la même capacité dont j'ai besoin. Il semble que les arguments facultatifs sont créés en fournissant des valeurs par défaut pour les arguments supplémentaires. Vous pouvez également donner une liste ou un tableau associatif à la fonction et modifier le comportement de la fonction en fonction du nombre de valeurs de la liste ou des clés présentes dans le tableau associatif. L'utilisation d'une liste nécessite que les entrées soient soigneusement placées dans le bon ordre lors de l'appel de la fonction, mais avec le tableau associatif, les arguments peuvent être fournis dans n'importe quel ordre.
Re: surcharge de fonctions dans JSL?Il n'y a pas de surcharge; cependant, vous pouvez rendre les arguments facultatifs de sorte que, par exemple, f (a) et f (a, b) puissent appeler la même fonction:
f = fonction ({x, y = 0}, sqrt (x * x + y * y));
Vous pouvez également vérifier les types des arguments avec des fonctions telles que Is Number () dans un if imbriqué if (), qui ressemble à votre exemple VB.