Objectif :Créer, modifier ou afficher des fonctions variables définies par l'utilisateur

 

Format:Mode d'affichage:

FONCTION [/GL /LL /P] [nom sauvage]

 

Mode de définition directe :

FONCTION [/= /GL /LL] prénom[=]définition

 

Mode fichier de définition :

FONCTION [/= /G /GL /L /LL /O /Z] /R [filet...]

         

filetUn ou plusieurs fichiers d'entrée à partir desquels lire les définitions de fonctions.
nom sauvageNom de la fonction dont la définition doit être affichée (peut contenir * et ? caractères génériques)
prénomLe nom de la fonction que vous souhaitez définir.
définitionLa valeur ou la définition de ce que la fonction doit renvoyer.

 

/Mondial)/Pause)
/GL (liste globale)/R(lire le fichier)
/Locale)/Z (écraser la liste)

/LL (liste locale)

 

Voir aussi: NON FONCTIONNEMENT et ESET.

 

Syntaxe de complétion de fichier :

 

Le défaut complétion du nom de fichier la syntaxe est : [/r] * [1] fonctions [2*] *

 

Usage:

 

Un pas        Vue d'ensemble

Un pas        Affichage des fonctions

Un pas        Définition des fonctions

Un pas        Suppression de fonctions

Un pas        Fonctions locales et globales

Un pas        Sauvegarder et recharger vos fonctions

Un pas        Avertissements

 

Vue d'ensemble

 

FONCTION permet de créer ou d'afficher des utilisateurs-défini variable des fonctions utilisables partout Fonctions variables peut être utilisé. Les fonctions définies par l'utilisateur constituent de puissantes alternatives à sous-programmes.

 

Affichage des fonctions

 

Si vous appelez la commande FUNCTION sans paramètres, elle affichera la liste des fonctions actuelles (la liste des fonctions locales si vous avez défini des fonctions locales dans TCMD.INI au sein de l’ TCC ligne de commande de démarrage ; sinon la liste globale des fonctions):

 

fonction

 

Si vous incluez un nom sauvage, qui peut inclure des caractères génériques (* or ?), sans signe égal et sans définition, FUNCTION affichera les valeurs actuelles, le cas échéant, de toutes les fonctions correspondant nom sauvage, .par exemple.:

 

fonction *dx*

 

affichera toutes les fonctions qui contiennent dx en leur nom.

 

Vous pouvez utiliser le /P option pour contrôler le défilement de l’affichage lors de l’affichage des fonctions.

 

Définition des fonctions

 

Si vous incluez le signe égal et définition, FUNCTION créera ou mettra à jour la fonction référencée par prénom. Tout précédent définition associé à prénom est rejeté. À la place du = signe, vous pouvez utiliser un ou plusieurs espaces ou caractères de tabulation pour séparer prénom et définition.

 

Une fois qu'une fonction est définie, la définition peut être modifiée à l'aide de ESET /F.

 

Une fonction peut éventuellement utiliser des références à des paramètres numérotés de %0 à % 511 qui sera remplacé par la valeur du paramètre correspondant lorsque la fonction est appelée. %0 fait référence au nom de la fonction, %1 au premier paramètre, etc. Par exemple, la fonction

 

fonction la plus à gauche=`%@left[1,%1]`

 

renverra le caractère le plus à gauche dans son paramètre, par ex. %@le plus à gauche[xyz] reviendra x.

 

Le paramètre %n$ a une signification particulière. TCC l'interprète comme signifiant "tous les arguments, du paramètre n jusqu'à la fin."  Si n n'est pas spécifié, sa valeur par défaut est 1, De sorte %$ signifie "tous les arguments passés à la fonction".

 

Le paramètre %-n$ veux dire "les arguments du paramètre 1 à n - 1".

 

La référence de variable spéciale %# s'étend au nombre of paramètres passés à la fonction.

 

Une définition de fonction ne doit faire référence à aucun paramètre. Par exemple:

 

fonction demain=`%@makedate[%@inc[%@date[%_date]]]`

 

pourrait être simplement invoqué comme %@demain[].

 

Pour utiliser la fonction prénom vous invoquez est comme %@nom[paramètres], où vous devez spécifier suffisamment de paramètres pour attribuer une valeur au paramètre portant le numéro le plus élevé référencé dans la définition de la fonction. Il peut avoir plus de paramètres, qui seront ignorés en silence.

 

Le Couleurs, noms de couleurs et codes La rubrique montre un exemple simple d'utilisation d'une fonction dans un fichier batch.

 

Suppression de fonctions

 

La méthode normale consiste à utiliser le NON FONCTIONNEMENT commande. Cependant, il est également possible de supprimer une fonction en la redéfinissant sans définition, par exemple, la commande

 

fonction fs=

 

supprime la fonction fs.

 

Fonctions locales et globales

 

Les fonctions peuvent être stockées dans locales (facultatif) de défis listes.

 

Avec une liste de fonctions locale, toute modification apportée aux fonctions n'affectera que la copie actuelle de TCC. Ils ne seront pas visibles dans d’autres shells ou d’autres sessions.

 

Avec une liste de fonctions globale, toutes les copies de TCC partagera la même liste de fonctions et toute modification apportée aux fonctions dans une copie affectera toutes les autres copies. C'est la valeur par défaut dans TCC.

 

Vous pouvez contrôler le type de liste de fonctions à utiliser avec les options /GL et /LL dans FUNCTION, Fonctions locales et Fonctions globales options de configuration, avec le /L et /LF options du La START commande, et avec le /L et /LF options de démarrage.

 

Si vous ne spécifiez pas /GL ou /LL, TCC recherchera d'abord les fonctions dans la liste locale. S'il n'y a pas de liste locale ou si la fonction n'est pas trouvée, TCC recherchera la liste globale (si elle existe).

 

Il n'existe pas de règle fixe pour déterminer s'il convient d'utiliser une liste de fonctions locale ou globale. En fonction de votre style de travail, vous trouverez peut-être plus pratique d'utiliser un seul type ou un mélange de types dans différentes sessions ou shells. Nous vous recommandons de commencer avec l'approche par défaut, puis de la modifier si vous trouvez une situation dans laquelle l'approche par défaut ne vous convient pas.

 

Chaque fois que vous démarrez une deuxième copie de TCC qui utilise une liste de fonctions locales, il hérite d'une copie des fonctions du shell précédent. Cependant, toute modification apportée aux fonctions dans le deuxième shell n’affectera que ce shell. Si vous souhaitez que les modifications apportées dans le deuxième shell affectent le shell précédent, utilisez une liste de fonctions globale dans les deux shells.

 

Sauvegarder et recharger vos fonctions

 

Vous pouvez enregistrer vos fonctions dans un fichier (par exemple, FONCTIONS.LST) Par ici:

 

fonction > fonction.lst

 

Vous pourrez ensuite recharger toutes les définitions de fonctions dans le fichier au prochain démarrage avec la commande :

 

fonction /r fonction.lst

 

C'est beaucoup plus rapide que de définir chaque fonction individuellement dans un fichier batch. Si vous conservez vos définitions de fonctions dans un fichier séparé que vous chargez lorsque TCC démarre, vous pouvez les éditer avec un éditeur de texte, recharger le fichier édité avec FUNCTION /R, et savoir que la même liste de fonctions sera chargée au prochain démarrage TCC.

 

Lorsque vous définissez des fonctions dans un fichier qui seront traitées par la commande FUNCTION /R, vous n'avez pas besoin de guillemets inverses autour de la définition, même si des guillemets inverses seraient normalement requis lors de la définition de la même fonction sur la ligne de commande ou dans un fichier batch.

 

Avertissements

 

Lorsque vous définissez une fonction dans la ligne de commande (c'est-à-dire sans utiliser le /R option), les variables et les fonctions non protégées par des guillemets arrière ou des signes % doublés sont immédiatement évaluées et le résultat fait partie de la définition de la fonction.

 

Les erreurs de syntaxe dans une définition de fonction ne sont détectées qu'après son utilisation.

 

options:

 

/=Affichez la boîte de dialogue de commande FONCTION pour vous aider à définir les options de ligne de commande. L'option /= peut être n'importe où sur la ligne ; des options supplémentaires définiront les champs appropriés dans la boîte de dialogue de commande.

 

/GPassez d’une liste de fonctions locale à une liste de fonctions globale. Si vous disposez déjà d'une liste de fonctions globale (par exemple, dans un autre TCC exemple ou en SHRALIAS), FUNCTION ne fera pas la conversion.

 

/GLLire et écrire dans la liste de fonctions globales. Si vous avez défini des listes de fonctions locales et globales et que vous ne spécifiez pas /GL, FUNCTION utilisera par défaut la liste locale.

 

/LPassez d’une liste de fonctions globale à une liste de fonctions locale.

 

/LLLisez et écrivez dans la liste de fonctions locale.

 

/ON'écrasez pas les valeurs existantes (valable uniquement en combinaison avec /R).

 

/PAttendez l'appui sur une touche après chaque page d'écran avant de poursuivre l'affichage.

 

/RCette option charge une liste de fonctions à partir d'un fichier. Si aucun nom de fichier n'est spécifié et que l'entrée est redirigée, /R lira depuis Stdin. Le format du fichier est le même que celui de l'affichage FUNCTION :

 

nom=définition

 

De prénom est le nom de la fonction et définition précise comment déterminer sa valeur. Vous pouvez utiliser le signe égal = ou un espace pour séparer prénom et définition. Les guillemets arrière ne sont pas requis.

 

Vous pouvez ajouter des commentaires au fichier en commençant chaque ligne de commentaire par deux points. :.

 

Vous pouvez charger plusieurs fichiers avec une seule commande FUNCTION /R en plaçant les noms sur la ligne de commande, séparés par des espaces :

 

fonction /r func1.lst func2.lst

 

Les définitions FUNCTION /R peuvent s'étendre sur plusieurs lignes du fichier si chaque ligne, à l'exception de la dernière, se termine par un Caractère d'échappement.

 

S'il n'y a pas de paramètre de nom de fichier et que l'entrée est redirigée, FUNCTION /R lira à partir de Stdin.

 

/ZRemplacez la liste de fonctions existante par le contenu du fichier spécifié (doit être utilisé avec /R). FUNCTION /R /Z est 20 fois plus rapide que FUNCTION /R, car il n'est pas nécessaire de vérifier les fonctions existantes et d'ajouter de nouvelles fonctions à la fin de la liste.