Tcl - встроенные функции
Tcl предоставляет ряд встроенных функций (процедур) для различных операций. Это включает -
Функции для работы со списком .
Функции для обработки строк .
Функции для работы с массивами .
Функции для работы со словарем .
Функции для обработки файлового ввода-вывода .
Функции для создания пространств имен и пакетов.
Функции для математических операций.
Функции для работы системы.
Все вышеперечисленные функции, кроме математических и системных, описаны в предыдущих главах. Математические и системные встроенные функции описаны ниже.
Математические функции
Математические функции, доступные в Tcl, перечислены в следующей таблице -
Sr.No. | Метод и описание |
---|---|
1 | abs аргумент Вычисляет абсолютное значение аргумента. |
2 | acos аргумент Вычисляет арккосинус аргумента arg. |
3 | asin аргумент Вычисляет арксинус аргумента arg. |
4 | atan аргумент Вычисляет арктангенс аргумента arg. |
5 | atan2 yx Вычисляет арктангенс частного своих аргументов (y / x). |
6 | ceil аргумент Вычисляет наименьшее целое число, большее или равное числу. |
7 | cos аргумент Вычисляет косинус аргумента. |
8 | cosh аргумент Вычисляет гиперболический косинус аргумента. |
9 | double аргумент Вычисляет, является ли arg значением с плавающей запятой, возвращает arg, в противном случае преобразует arg в число с плавающей запятой и возвращает преобразованное значение. |
10 | exp аргумент Вычисляет экспоненциальную функцию (e в степени arg). |
11 | floor аргумент Вычисляет наибольшее целое число, меньшее или равное arg. |
12 | fmod ху Вычисляет остаток с плавающей запятой от деления x на y. Если y равно 0, возвращается ошибка. |
13 | hypot ху Вычисляет длину гипотенузы прямоугольного треугольника sqrt (x * x + y * y). |
14 | int аргумент Вычисляет, является ли arg целочисленным значением той же ширины, что и машинное слово, возвращает arg, в противном случае преобразует arg в целое число. |
15 | log аргумент Вычисляет натуральный логарифм аргумента. |
16 | log10 аргумент Вычисляет десятичный логарифм аргумента. |
17 | pow ху Вычисляет значение x в степени y. Если x отрицательно, y должно быть целым числом. |
18 | rand Вычисляет псевдослучайное число от 0 до 1. |
19 | round аргумент Вычисляет значение arg, округленное до ближайшего целого числа. |
20 | sin аргумент Вычисляет синус аргумента. |
21 год | sinh аргумент Вычисляет гиперболический синус аргумента arg. |
22 | sqrt аргумент Вычисляет квадратный корень из аргумента. arg должен быть положительным. |
23 | srand аргумент Вычисляет псевдослучайное число от 0 до 1. Аргумент, который должен быть целым числом, используется для сброса начального числа для генератора случайных чисел rand. |
24 | tan аргумент Вычисляет тангенс аргумента. |
25 | tanh аргумент Вычисляет гиперболический тангенс аргумента arg. |
26 | wide аргумент Вычисляет целочисленное значение шириной не менее 64 бита (путем расширения знака, если arg - 32-битное число) для arg, если оно еще не равно единице. |
Некоторые примеры использования математических функций приведены ниже -
#!/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]
Когда приведенный выше код выполняется, он дает следующий результат:
0.6483608274590866
100.0
11.0
22.360679774997898
0.0003521866166741525
2.302585092994046
0.0003521866166741525
Системные функции
Важные системные функции в Tcl включают:
clock - функция секунд, которая возвращает текущее время в секундах.
clock - функция форматирования, которая форматирует секунды в дату и время.
clock - функция сканирования, которая сканирует входную строку и преобразует ее в секунды.
open - функция, которая используется для открытия файла.
exec - функция, которая используется для выполнения системной команды.
close - функция, используемая для закрытия файла.
Некоторые примеры для вышеуказанных функций перечислены ниже -
#!/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
Когда приведенный выше код выполняется, он дает следующий результат:
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
В следующей таблице представлены строки списка, которые можно использовать для форматирования даты и времени.
Sr.No. | Формат и описание |
---|---|
1 | %a День в краткой форме, например: Солнце. |
2 | %A День в полной форме, например: воскресенье. |
3 | %b Месяц в краткой форме. |
4 | %B Месяц в полной форме. |
5 | %d День месяца. |
6 | %j Юлианский день года. |
7 | %m Месяц в номере. |
8 | %y Год в двухзначном формате. |
9 | %Y Год в четырехзначном формате. |
10 | %H Час в 24-часовом формате. |
11 | %I Час в 12-часовом формате. |
12 | %M Минуты. |
13 | %S Секунды. |
14 | %p До или после полудня. |
15 | %D Дата в номере, мм / дд / гг. |
16 | %r Время в 12-часовом формате. |
17 | %R Время в 24-часовом формате без секунд. |
18 | %T Время в 24-часовом формате с секундами. |
19 | %Z Название часового пояса, например GMT, IST, EST и т. Д. |