Tcl - Integrierte Funktionen

Tcl bietet eine Reihe von integrierten Funktionen (Prozeduren) für verschiedene Operationen. Dies beinhaltet -

  • Funktionen zur Listenbehandlung .

  • Funktionen für die Zeichenfolgenbehandlung .

  • Funktionen für die Array- Behandlung.

  • Funktionen für die Wörterbuchbehandlung .

  • Funktionen für die Datei-E / A- Behandlung.

  • Funktionen zum Erstellen von Namespaces und Paketen.

  • Funktionen für mathematische Operationen.

  • Funktionen für Systemoperationen.

Alle oben genannten Funktionen mit Ausnahme der Mathematik- und Systemfunktionen werden in früheren Kapiteln behandelt. Die in Mathematik und System integrierten Funktionen werden unten erläutert.

Mathematische Funktionen

Die in Tcl verfügbaren mathematischen Funktionen sind in der folgenden Tabelle aufgeführt:

Sr.Nr. Methode & Beschreibung
1

abs arg

Berechnet den absoluten Wert von arg.

2

acos arg

Berechnet das Arccosin von arg.

3

asin arg

Berechnet den Arkussinus von arg.

4

atan arg

Berechnet den Arkustangens von arg.

5

atan2 yx

Berechnet den Arkustangens des Quotienten seiner Argumente (y / x).

6

ceil arg

Berechnet die kleinste Ganzzahl, die größer oder gleich einer Zahl ist.

7

cos arg

Berechnet den Cosinus von arg.

8

cosh arg

Berechnet den hyperbolischen Cosinus von arg.

9

double arg

Berechnet, ob arg ein Gleitkommawert ist, gibt arg zurück, konvertiert andernfalls arg in Gleitkomma und gibt den konvertierten Wert zurück.

10

exp arg

Berechnet eine Exponentialfunktion (e erhöht auf die Potenz von arg).

11

floor arg

Berechnet die größte Ganzzahl kleiner oder gleich arg.

12

fmod xy

Berechnet den Gleitkomma-Rest der Division von x durch y. Wenn y 0 ist, wird ein Fehler zurückgegeben.

13

hypot xy

Berechnet die Länge der Hypotenuse eines rechtwinkligen Dreiecksquadrats (x * x + y * y).

14

int arg

Berechnet, ob arg ein ganzzahliger Wert mit der gleichen Breite wie das Maschinenwort ist, gibt arg zurück und konvertiert andernfalls arg in eine Ganzzahl.

15

log arg

Berechnet den natürlichen Logarithmus von arg.

16

log10 arg

Berechnet den Logarithmus zur Basis 10 von arg.

17

pow xy

Berechnet den Wert von x, der auf die Potenz y angehoben wird. Wenn x negativ ist, muss y ein ganzzahliger Wert sein.

18

rand

Berechnet eine Pseudozufallszahl zwischen 0 und 1.

19

round arg

Berechnet den Wert von arg auf die nächste ganze Zahl gerundet.

20

sin arg

Berechnet den Sinus von arg.

21

sinh arg

Berechnet den hyperbolischen Sinus von arg.

22

sqrt arg

Berechnet die Quadratwurzel von arg. arg muss positiv sein.

23

srand arg

Berechnet eine Pseudozufallszahl zwischen 0 und 1. Das Argument, das eine Ganzzahl sein muss, wird verwendet, um den Startwert für den Zufallszahlengenerator von rand zurückzusetzen.

24

tan arg

Berechnet die Tangente von arg.

25

tanh arg

Berechnet den hyperbolischen Tangens von arg.

26

wide arg

Berechnet einen ganzzahligen Wert von mindestens 64 Bit Breite (durch Vorzeichenerweiterung, wenn arg eine 32-Bit-Zahl ist) für arg, falls dies noch nicht der Fall ist.

Einige Beispiele mit mathematischen Funktionen sind unten angegeben -

#!/usr/bin/tclsh

namespace import ::tcl::mathfunc::*
puts [tan 10]
puts [pow 10 2]
puts [ceil 10.34]
puts [hypot 10 20]
puts [srand 45]
puts [log 10]
puts [srand 45]

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

0.6483608274590866
100.0
11.0
22.360679774997898
0.0003521866166741525
2.302585092994046
0.0003521866166741525

Systemfunktionen

Die wichtigen Systemfunktionen in Tcl umfassen:

  • clock - Sekundenfunktion, die die aktuelle Zeit in Sekunden zurückgibt.

  • clock - Formatierungsfunktion, die die Sekunden in Datum und Uhrzeit formatiert.

  • clock - Scan-Funktion, die die Eingabezeichenfolge scannt und in Sekunden umwandelt.

  • open - Funktion, mit der eine Datei geöffnet wird.

  • exec - Funktion, mit der ein Systembefehl ausgeführt wird.

  • close - Funktion, mit der eine Datei geschlossen wird.

Einige Beispiele für die oben genannten Funktionen sind unten aufgeführt -

#!/usr/bin/tclsh

#get seconds
set currentTime [clock seconds]
puts $currentTime
#get format 
puts "The time is: [clock format $currentTime -format %H:%M:%S]"
puts "The date is: [clock format $currentTime -format %D]"

set date "Jun 15, 2014"
puts [clock scan $date -format {%b %d, %Y}]

puts [exec ls]
puts [exec dir]

set a  [open input.txt]
puts [read $a];
puts $a
close $a

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

1402819756
The time is: 03:09:16
The date is: 06/15/2014
1402808400
input.txt
main.tcl
input.txt  main.tcl
This is the file you can use to provide input to your program and later on open
   it inside your program to process the input.

file3

Die folgende Tabelle enthält die Listenzeichenfolgen, mit denen Datum und Uhrzeit formatiert werden können.

Sr.Nr. Format & Beschreibung
1

%a

Tag in Kurzform, zB: Sonne.

2

%A

Tag in voller Form zB: Sonntag.

3

%b

Monat in Kurzform.

4

%B

Monat in voller Form.

5

%d

Monatstag.

6

%j

Julianischer Tag des Jahres.

7

%m

Monat in Anzahl.

8

%y

Jahr zweistellig.

9

%Y

Jahr in vier Ziffern.

10

%H

Stunde im 24-Stunden-Takt.

11

%I

Stunde im 12-Stunden-Takt.

12

%M

Protokoll.

13

%S

Sekunden.

14

%p

Vormittags oder nachmittags.

15

%D

Datum in Anzahl, MM / TT / JJ.

16

%r

Zeit im 12-Stunden-Takt.

17

%R

Zeit im 24-Stunden-Takt ohne Sekunden.

18

%T

Zeit im 24-Stunden-Takt mit Sekunden.

19

%Z

Zeitzonenname wie GMT, IST, EST und so weiter.