AUFGABE |
Zweck: | Benutzerdefinierte Variablenfunktionen erstellen, ändern oder anzeigen |
Format: | Anzeigemodus: |
FUNKTION [/GL /LL /P] [Wildname]
Direktdefinitionsmodus:
FUNKTION [/GL /LL] Name[=]Definition
Definitionsdateimodus:
FUNKTION [/G /GL /L /LL /O /Z] /R [Datei...]
Datei | Eine oder mehrere Eingabedateien zum Lesen von Funktionsdefinitionen. |
Wildname | Name der Funktion, deren Definition angezeigt werden soll (kann enthalten * und ? Platzhalter) |
Name | Der Name der Funktion, die Sie definieren möchten. |
Definition | Der Wert oder die Definition dessen, was die Funktion zurückgeben soll. |
Siehe auch: UNFUNKTION und ESET.
Verwendung:
Speichern und erneutes Laden Ihrer Funktionen
Mit FUNCTION können Sie Benutzer erstellen oder anzeigen-definiert Variable Funktionen, die überall genutzt werden können Variable Funktionen kann verwendet werden. Benutzerdefinierte Funktionen sind leistungsstarke Alternativen zu Unterprogramme.
Wenn Sie den Befehl FUNCTION ohne Parameter aufrufen, wird die aktuelle Funktionsliste angezeigt (die lokale Funktionsliste, wenn Sie lokale Funktionen festgelegt haben). TCMD.INI oder vom TCC-RT-Startbefehlszeile; ansonsten die globale Funktionsliste):
Funktion
Wenn Sie a Wildname, die Platzhalter enthalten können (* or ?), ohne Gleichheitszeichen und Nr Definition, FUNCTION zeigt ggf. die aktuellen Werte aller übereinstimmenden Funktionen an Wildname, .z.B.:
Funktion *dx*
zeigt alle Funktionen an, die enthalten dx in ihrem Namen.
Sie können die Verwendung /P Option zur Steuerung des Bildlaufs beim Anzeigen von Funktionen.
Wenn Sie das Gleichheitszeichen und einfügen Definition, FUNCTION erstellt oder aktualisiert die Funktion, auf die verwiesen wird Name. Alle vorherigen Definition zugeordneten Name wird verworfen. Anstatt der = Zeichen können Sie zur Trennung ein oder mehrere Leerzeichen oder Tabulatorzeichen verwenden Name und Definition.
Sobald eine Funktion definiert ist, kann die Definition mit bearbeitet werden ESET /F.
Eine Funktion kann optional Verweise auf Parameter verwenden, die von nummeriert sind %0 zu %511 Dieser wird beim Aufruf der Funktion durch den passenden Parameterwert ersetzt. %0 bezieht sich auf den Funktionsnamen, %1 zum ersten Parameter usw. Zum Beispiel die Funktion
function leftmost=`%@left[1,%1]`
gibt das Zeichen ganz links in seinem Parameter zurück, z.B. %@ganz links[xyz] wird zurückkehren x.
Der Parameter %n$ hat eine besondere Bedeutung. TCC-RT interpretiert es so, dass es „alle Argumente, ab Parameter“ bedeutet n bis zum Ende.“ Wenn n nicht angegeben ist, hat der Standardwert den Wert 1, damit %$ bedeutet „alle an die Funktion übergebenen Argumente“.
Der Parameter %-n$ meint "die Argumente von Parameter 1 bis n - 1".
Die spezielle Variablenreferenz %# erweitert sich auf die Zahl of Parameter, die an die Funktion übergeben werden.
Eine Funktionsdefinition muss überhaupt keine Parameter referenzieren. Zum Beispiel:
Funktion morgen=`%@makedate[%@inc[%@date[%_date]]]`
könnte einfach aufgerufen werden als %@morgen[].
Um die Funktion zu verwenden Name Sie rufen ist als %@name[Parameter],wobei Sie genügend Parameter angeben müssen, um dem Parameter mit der höchsten Nummer einen Wert zuzuweisen referenziert in der Funktionsdefinition. Möglicherweise gibt es weitere Parameter, die stillschweigend ignoriert werden.
Die Farben, Farbnamen und Codes Das Thema zeigt ein einfaches Beispiel für die Verwendung einer Funktion in einer Batchdatei.
Die normale Methode ist die Verwendung von UNFUNKTION Befehl. Es ist jedoch auch möglich, eine Funktion zu löschen, indem man sie ohne a neu definiert Definition, z. B. der Befehl
Funktion fs=
löscht die Funktion fs.
Funktionen können gespeichert werden aus einer regionalen und / oder globale Listen.
Bei einer lokalen Funktionsliste wirken sich alle an den Funktionen vorgenommenen Änderungen nur auf die aktuelle Kopie von aus TCC-RT. Sie sind in anderen Shells oder anderen Sitzungen nicht sichtbar.
Mit einer globalen Funktionsliste werden alle Kopien von TCC-RT nutzt dieselbe Funktionsliste und alle an den Funktionen in einer Kopie vorgenommenen Änderungen wirken sich auf alle anderen Kopien aus. Dies ist die Standardeinstellung TCC-RT.
Sie können den Typ der Funktionsliste steuern, die mit den Optionen /GL und /LL in den Konfigurationsoptionen FUNCTION, Local Functions und Global Functions verwendet werden soll /L und /LF Optionen der Starte das Spiel Befehl, und mit dem /L und /LF Startoptionen.
Wenn Sie weder /GL noch /LL angeben, TCC-RT sucht zunächst nach Funktionen in der lokalen Liste. Wenn keine lokale Liste vorhanden ist oder die Funktion nicht gefunden wird, TCC-RT durchsucht die globale Liste (falls vorhanden).
Es gibt keine feste Regel zur Bestimmung, ob eine lokale oder globale Funktionsliste verwendet werden soll. Abhängig von Ihrem Arbeitsstil kann es für Sie am bequemsten sein, einen Typ oder eine Mischung von Typen in verschiedenen Sitzungen oder Shells zu verwenden. Wir empfehlen Ihnen, mit dem Standardansatz zu beginnen und ihn dann zu ändern, wenn Sie eine Situation finden, in der der Standardansatz nicht praktisch ist.
Wann immer Sie eine zweite Kopie von starten TCC-RT, das eine lokale Funktionsliste verwendet, erbt eine Kopie der Funktionen von der vorherigen Shell. Allerdings wirken sich alle in der zweiten Shell vorgenommenen Änderungen an den Funktionen nur auf diese Shell aus. Wenn Sie möchten, dass in der zweiten Shell vorgenommene Änderungen Auswirkungen auf die vorherige Shell haben, verwenden Sie in beiden Shells eine globale Funktionsliste.
Speichern und erneutes Laden Ihrer Funktionen
Sie können Ihre Funktionen in einer Datei speichern (z. B. FUNKTIONEN.LST) Hier entlang:
Funktion > Funktion.lst
Anschließend können Sie beim nächsten Start mit dem Befehl alle Funktionsdefinitionen in der Datei neu laden:
Funktion /r function.lst
Dies ist viel schneller, als jede Funktion einzeln in einer Batchdatei zu definieren. Wenn Sie Ihre Funktionsdefinitionen in einer separaten Datei aufbewahren, die Sie laden, wenn TCC-RT startet, können Sie sie mit einem Texteditor bearbeiten, die bearbeitete Datei mit FUNCTION /R neu laden und wissen, dass beim nächsten Start dieselbe Funktionsliste geladen wird TCC-RT.
Wenn Sie Funktionen in einer Datei definieren, die vom Befehl FUNCTION /R verarbeitet werden, benötigen Sie keine Anführungszeichen um die Definition, auch wenn normalerweise Anführungszeichen erforderlich wären, wenn Sie dieselbe Funktion in der Befehlszeile oder in einer Batchdatei definieren.
Wenn Sie eine Funktion in der Befehlszeile definieren (d. h. ohne die /R (Option) werden Variablen und Funktionen, die nicht durch Anführungszeichen oder doppelte %-Zeichen geschützt sind, sofort ausgewertet und das Ergebnis wird Teil der Funktionsdefinition.
Syntaxfehler in einer Funktionsdefinition werden erst bei deren Verwendung erkannt.
Option:
/GL | Lesen und Schreiben in die globale Funktionsliste. Wenn Sie sowohl lokale als auch globale Funktionslisten definiert haben und /GL nicht angeben, verwendet FUNCTION standardmäßig die lokale Liste. |
/P | Warten Sie nach jeder Bildschirmseite, bis eine Taste gedrückt wird, bevor Sie mit der Anzeige fortfahren. |
Name=Definition
woher Name ist der Name der Funktion und Definition Gibt an, wie der Wert ermittelt wird. Sie können das Gleichheitszeichen verwenden = oder Leerzeichen zum Trennen Name und Definition. Backquotes sind nicht erforderlich.
Sie können der Datei Kommentare hinzufügen, indem Sie jede Kommentarzeile mit einem Doppelpunkt beginnen :.
Sie können mehrere Dateien mit einem FUNCTION /R-Befehl laden, indem Sie die Namen durch Leerzeichen getrennt in die Befehlszeile eingeben:
Funktion /r func1.lst func2.lst
FUNCTION /R-Definitionen können sich über mehrere Zeilen in der Datei erstrecken, wenn jede Zeile außer der letzten mit einem abgeschlossen wird Escape-Zeichen.
Wenn kein Dateinamenparameter vorhanden ist und die Eingabe umgeleitet wird, liest FUNCTION /R aus Standard.