J'ai une variable que j'aimerais utiliser comme valeur par défaut pour un argument: est un moyen de faire cela ou de faire pour évaluer la variable dans mon procédé ? p> p>
3 Réponses :
Oui, mais vous ne pouvez pas utiliser les accolades frisées ( mais sachez: {} code>) pour votre liste d'arguments. Vous déclarez la procédure par exemple. De cette façon:
La variable est évaluée au moment où la procédure est déclarée, pas lorsqu'elle est exécutée! P> p>
Si vous souhaitez qu'un argument par défaut défini uniquement en valeur au moment où vous appelez, vous devez être plus délicat. La clé est que vous pouvez utiliser Info niveau 0 code> pour obtenir la liste des arguments à l'appel de procédure en cours, puis vous simplement vérifier la longueur de cette liste:
+1 Pour vérifier le nombre d'arguments fournis, vs vérifiant simplement pour voir si la sortie était la chaîne vide! Eh bien, vous obtiendrez un +1 pour la réponse utile, mais je suis content que vous l'ayez fait de cette façon :)
Excellente réponse, mais faites attention à ce que vous ne pouvez pas discriminer entre un utilisateur donnant à la commande 'log enfoncé "" "et" log enfoncé ". Vous pouvez modifier la chaîne de sortie par défaut (changer »), mais vous obtenez un problème similaire avec la nouvelle valeur. Peut ne pas arriver souvent mais quand ça se passe ...
@Roalt: Voulez-vous dire que ce commentaire sur l'autre réponse? Avec le mien, vous pouvez distinguer simplement compter i> combien de valeurs ont été fournies. C'est si facile.
Une autre façon de faire ceci: