unknown      Commandes Internes Tcl


NOM

unknown- Gère les tentatives d'utiliser des commandes inexistantes

SYNTAXE

unknown cmdName ?arg arg ...?

DESCRIPTION

Cette commande est appelée par l'interpréteur Tcl chaque fois qu'un script essaie d'appeler une commande qui n'existe pas. L'implémentation d'unknown ne fait pas partie du noyau Tcl; en fait, c'est une fonction de bibliothèque définie par défaut quand Tcl démarre. Vous pouvez surcharger unknown pour changer sa fonctionalité.
Si l'interpréteur Tcl rencontre un nom de commande pour lequel il n'y a pas de commande définie, alors Tcl vérifie l'existence d'une commande nommée unknown. S'il n'y a pas de commande de ce nom, alors l'interpréteur retourne une erreur. Si la commande unknown existe, alors elle est appelée avec les arguments consistant des nom et arguments pleinement-substitués de la commande originale inexistante. La commande unknown typiquement fait des choses comme chercher à travers des répertoires de bibliothèque une commande avec le nom cmdName, ou expanser un nom de commande abrégé, ou exécuter automatiquement des commandes inconnues en tant que sous-processus. Dans quelques cas (tel que l'expansion d'abréviations) unknown changera légèrement la commande originale et alors la (re-)exécutera. Le résultat de la commande unknown est utilisé comme résultat de la commande inexistante originale.
L'implémentation par défaut d'unknown se comporte comme suit. Elle appelle en premier la fonction de bibliothèque auto_load pour charger la commande. Si cela réussit, alors elle exécute la commande originale avec ses arguments originaux. Si l'auto-load échoue alors unknown appelle auto_execok pour voir si il y a un fichier exécutable de nom cmd. Si c'est le cas, elle appelle la commande Tcl exec avec cmd et tout les args comme aguments. Si cmd peut être auto-exécuté, unknown verifie si la commande a été appelée au premier plan et en dehors de quelconque script Si c'est le cas, alors unknown suit deux étapes supplémentaires. D'abord, elle regarde si cmd a une des trois formes suivantes: !!, !event, ou ^old^new?^?. Si c'est le cas, alors unknown produit des substitutions d'historique de la même façon que csh pour ces constructions. Finalement, unknown verifie si cmd est une abréviation unique d'une commande Tcl existante. Si c'est le cas, elle expanse le nom de la commande et exécute la commande avec les arguments originaux. Si aucun des efforts précédents n'ont pu exécuter la commande, unknown génère une erreur. Si la variable globale auto_noload est définie, alors l'étape auto-load est sautée. Si la variable globale auto_noexec est définie alors l'étape auto-exec est sautée. Sous des circonstances normales la valeur de retour de unknown est la valeur de retour de la commande qui a été éventuellement exécutée.


Index  Précédent  Suivant