Passer la liste à la procédure Tcl
Qu'est-ce que la manière canonique pour passer d'une liste à un Tcl procédure?
J'aimerais vraiment que si je pouvais obtenir de sorte qu'une liste est automatiquement étendu à un nombre variable d'arguments.
De sorte que quelque chose comme:
set a {b c}
myprocedure option1 option2 $a
et
myprocedure option1 option2 b c
sont équivalentes.
Je suis sûr que j'ai vu avant, mais je ne peux pas le trouver n'importe où en ligne. Toute aide (et le code) afin de rendre les deux cas, l'équivalent serait appréciée.
Est-ce considéré comme une norme Tcl convention. Ou suis-je même aboiements le mauvais arbre?
source d'informationauteur Juan
Vous devez vous connecter pour publier un commentaire.
Cela dépend de la version de Tcl vous utilisez, mais:
8,5:
Pour la 8.4 et ci-dessous:
De s'étendre sur les RHSeeger réponse, vous code maprocédure avec la
args
argument comme ceci:Il pourrait être utile de noter que la transmission de votre commande pour attraper devra également résoudre ce problème:
Cela doit seulement être utilisé si vous souhaitez gérer les erreurs dans maprocédure à ce point dans votre code, de sorte que vous n'avez pas à vous soucier de renvoi des erreurs coincés.