J'écris un proc pour créer un en-tête dans un fichier de sortie.Comment traiter en toute sécurité les paramètres optionnels
Actuellement, il doit prendre un paramètre facultatif, qui est un commentaire possible pour l'en-tête.
J'ai fini par coder cela comme un seul paramètre optionnel
proc dump_header { test description {comment = ""}}
mais je voudrais savoir comment je peux obtenir les mêmes en utilisant args
proc dump_header { test description args }
Il est assez facile de vérifier args être un seul paramètre vide ($ args == ""), mais ne supporte pas bien le passage de plusieurs paramètres - et j'ai besoin de la vérification négative de toute façon.
Que voulez-vous faire si votre proc est appelée avec plus de 3 arguments: dump_header mytest mydesc {Un commentaire} somethingelse? Traiter quelque chose comme un autre commentaire, le traiter d'une autre manière? –
Il est faux de comparer $ args à une chaîne vide. args est une liste, pas une chaîne. –
Eh bien, ce n'est pas faux en soi, car il va créer une représentation de chaîne, mais cela peut être inutile si vous allez le traiter comme une liste de toute façon –