Arguments facultatifs dans les fonctions<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut les gens,
Je viens de commencer à utiliser JMP après avoir passé près de 10 ans à utiliser IDL,
on passe donc d'expert à débutant.
Je suis principalement en train d'apprendre le langage de script en ce moment.
J'espère que vous me pardonnerez les questions idiotes occasionnelles
Je vais donc commencer par une question simple :
Quelle est la meilleure façon d’utiliser des arguments facultatifs dans les fonctions ?
Quand j'exécute des scripts, ils se plaignent si j'en utilise moins que le nombre
d'arguments spécifiés dans la liste d'arguments de la fonction.
On pourrait éventuellement utiliser des tableaux associatifs comme entrée à la place,
et contiennent des clés facultatives, mais cela nécessite que l'utilisateur
créez-en un à chaque fois que la fonction est appelée, ce qui semble un peu
lourd....
Merci!
Paolo Grigis
ABB Suisse
Arguments facultatifs dans les fonctionsSalut Paolo
Vous obtiendrez probablement des réponses plus utiles si vous pouvez donner quelques exemples du type de fonctions que vous utilisez.
Généralement, les fonctions ont des arguments obligatoires qui doivent être analysés dans un ordre spécifique, mais il existe des arguments facultatifs supplémentaires, souvent spécifiés par des mots-clés, qui peuvent être spécifiés à n'importe quelle position et omis s'ils ne sont pas requis.
Autant que je sache, il n'est pas possible d'analyser les arguments sous forme de liste, ils doivent être spécifiés individuellement, sauf bien sûr lorsque l'élément d'argument est lui-même une liste. Cependant, il existe une fonction JSL appelée FUNCTION qui vous permet de créer des fonctions définies par l'utilisateur. J'utilise souvent cette fonctionnalité pour "envelopper" une fonction JSL existante afin d'avoir plus de contrôle sur les arguments d'entrée.
Salutations,
Dave
Arguments facultatifs dans les fonctionsPaul
Si vous créez une fonction définie par l'utilisateur, vous avez la possibilité de spécifier des valeurs par défaut pour les arguments. Si les valeurs par défaut sont spécifiées, les arguments deviennent facultatifs.
Ainsi, dans l'exemple ci-dessous, le 3ème argument est facultatif et est par défaut manquant (indiqué par un point en JSL)
Ma fonction = Fonction ({a,b,c=.}, {Local par défaut},
show(IsMissing(c));
montrer(a,b,c)
);
Ma fonction (1, 2)
Salutations,
Dave