Tcl provides a number of built-in functions (procedures) for various operations. Tcl includes below listed built-in functions −
- Functions for list handling.
- Functions for string handling.
- Functions for array handling.
- Functions for dictionary handling.
- Functions for File I/O handling.
- Functions for creating namespaces and packages in Tcl Built-in function.
- Functions for Math operations.
- Functions for System operations.
Each of the above except for math and system functions are covered in earlier chapters. Math and system built-in functions are explained below.
Math Functions
The math functions available in Tcl are listed in the following table −
Sr.No. | Method & Description |
---|---|
1 | abs argCalculates the absolute value of arg. |
2 | acos argCalculates the arccosine of arg. |
3 | asin argCalculates the arcsine of arg. |
4 | atan argCalculates the arctangent of arg. |
5 | atan2 y xCalculates the arctangent of the quotient of its arguments(y/x). |
6 | ceil argCalculates the smallest integer greater than or equal to a number. |
7 | cos argCalculates the cosine of arg. |
8 | cosh argCalculates the hyperbolic cosine of arg. |
9 | double argCalculates if arg is a floating-point value, returns arg, otherwise converts arg to floating-point and returns the converted value. |
10 | exp argCalculates an exponential function (e raised to the power of arg). |
11 | floor argCalculates the largest integer less than or equal to arg. |
12 | fmod x yCalculates the floating-point remainder of the division of x by y. If y is 0, an error is returned. |
13 | hypot x yCalculates the length of the hypotenuse of a right-angled triangle sqrt(x*x+y*y). |
14 | int argCalculates if arg is an integer value of the same width as the machine word, returns arg, otherwise converts arg to an integer. |
15 | log argCalculates the natural logarithm of arg. |
16 | log10 argCalculates the base 10 logarithm of arg. |
17 | pow x yCalculates the value of x raised to the power y. If x is negative, y must be an integer value. |
18 | randCalculates a pseudo-random number between 0 and 1. |
19 | round argCalculates the value of arg rounded to the nearest integer. |
20 | sin argCalculates the sine of arg. |
21 | sinh argCalculates the hyperbolic sine of arg. |
22 | sqrt argCalculates the square root of arg. arg must be positive. |
23 | srand argCalculates a pseudo-random number between 0 and 1. The arg, which must be an integer, is used to reset the seed for the random number generator of rand. |
24 | tan argCalculates the tangent of arg. |
25 | tanh argCalculates the hyperbolic tangent of arg. |
26 | wide argCalculates integer value at least 64-bits wide (by sign-extension if arg is a 32-bit number) for arg if it is not one already. |
Some examples using math functions are given below −
#!/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]
When the above code is executed, it produces the following result −
0.6483608274590866 100.0 11.0 22.360679774997898 0.0003521866166741525 2.302585092994046 0.0003521866166741525
System Functions
The important system functions in Tcl includes,
- clock − seconds function, which returns current time in seconds.
- clock − format function, which formats the seconds into date and time.
- clock − scan function, which scans the input string and converts it into seconds.
- open − function, which is used to open a file.
- exec − function, which is used to execute a system command.
- close − function, which is used to close a file.
Some examples for the above functions are listed below −
#!/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
When the above code is executed, it produces the following result −
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
The following table provides the list strings that can be used to format the date and time.
Sr.No. | Format & Description |
---|---|
1 | %aDay in short form, eg:Sun. |
2 | %ADay in full form eg:Sunday. |
3 | %bMonth in short form. |
4 | %BMonth in full form. |
5 | %dDay of month. |
6 | %jJulian day of year. |
7 | %mMonth in number. |
8 | %yYear in two digits. |
9 | %YYear in four digits. |
10 | %HHour in 24 hour clock. |
11 | %IHour in 12 hour clock. |
12 | %MMinutes. |
13 | %SSeconds. |
14 | %pAM or PM. |
15 | %DDate in number, mm /dd/yy. |
16 | %rTime in 12 hour clock. |
17 | %RTime in 24 hour clock without seconds. |
18 | %TTime in 24 hour clock with seconds. |
19 | %ZTime Zone Name like GMT, IST, EST and so on. |
Next Topic : Click Here