Учебники

Tcl — встроенные функции

Tcl предоставляет ряд встроенных функций (процедур) для различных операций. Это включает в себя —

Функции для обработки списка .

Функции для обработки строк .

Функции для обработки массива .

Функции для работы со словарем .

Функции для обработки файлового ввода-вывода .

Функции для создания пространств имен и пакетов.

Функции для математических операций.

Функции для работы системы.

Все вышеперечисленное, за исключением математических и системных функций, рассматривается в предыдущих главах. Математика и встроенные функции системы описаны ниже.

Математические функции

Математические функции, доступные в Tcl, перечислены в следующей таблице:

Sr.No. Метод и описание
1

абс арг

Рассчитывает абсолютное значение арг.

2

Acos Arg

Рассчитывает арккозин арг.

3

Асин Арг

Рассчитывает арксинус арг.

4

Атан Арг

Рассчитывает арктангенс арг.

5

atan2 yx

Вычисляет арктангенс фактора его аргументов (у / х).

6

Ceil Arg

Вычисляет наименьшее целое число, большее или равное числу.

7

потому что арг

Рассчитывает косинус арг.

8

Кош Арг

Рассчитывает гиперболический косинус арг.

9

двойной арг

Вычисляет, является ли arg значением с плавающей точкой, возвращает arg, в противном случае преобразует arg в число с плавающей точкой и возвращает преобразованное значение.

10

Exp Arg

Вычисляет экспоненциальную функцию (е возводится в степень аргумента).

11

пол арг

Вычисляет наибольшее целое число, меньшее или равное arg.

12

FMOD XY

Вычисляет остаток с плавающей точкой от деления x на y. Если y равно 0, возвращается ошибка.

13

гипотеза ху

Вычисляет длину гипотенузы прямоугольного треугольника sqrt (x * x + y * y).

14

Int Arg

Вычисляет, является ли arg целочисленным значением той же ширины, что и машинное слово, возвращает arg, в противном случае arg преобразуется в целое число.

15

лог арг

Рассчитывает натуральный логарифм арг.

16

log10 arg

Рассчитывает основание 10 логарифм аргумента.

17

Pow XY

Вычисляет значение x, возведенное в степень y. Если x отрицательно, y должно быть целочисленным значением.

18

рант

Вычисляет псевдослучайное число от 0 до 1.

19

круглый арг

Вычисляет значение arg, округленное до ближайшего целого числа.

20

грешник

Рассчитывает синус арг.

21

синх арг

Рассчитывает гиперболический синус арг.

22

sqrt arg

Рассчитывает квадратный корень из арг. аргумент должен быть положительным.

23

Srand Arg

Вычисляет псевдослучайное число между 0 и 1. Аргумент, который должен быть целым числом, используется для сброса начального числа для генератора случайных чисел rand.

24

Tan Arg

Рассчитывает тангенс арг.

25

Тан Арг

Вычисляет гиперболический тангенс аргумента arg.

26

широкий арг

Вычисляет целочисленное значение шириной не менее 64 бит (по расширению знака, если arg — 32-битное число) для аргумента arg, если оно еще не было.

абс арг

Рассчитывает абсолютное значение арг.

Acos Arg

Рассчитывает арккозин арг.

Асин Арг

Рассчитывает арксинус арг.

Атан Арг

Рассчитывает арктангенс арг.

atan2 yx

Вычисляет арктангенс фактора его аргументов (у / х).

Ceil Arg

Вычисляет наименьшее целое число, большее или равное числу.

потому что арг

Рассчитывает косинус арг.

Кош Арг

Рассчитывает гиперболический косинус арг.

двойной арг

Вычисляет, является ли arg значением с плавающей точкой, возвращает arg, в противном случае преобразует arg в число с плавающей точкой и возвращает преобразованное значение.

Exp Arg

Вычисляет экспоненциальную функцию (е возводится в степень аргумента).

пол арг

Вычисляет наибольшее целое число, меньшее или равное arg.

FMOD XY

Вычисляет остаток с плавающей точкой от деления x на y. Если y равно 0, возвращается ошибка.

гипотеза ху

Вычисляет длину гипотенузы прямоугольного треугольника sqrt (x * x + y * y).

Int Arg

Вычисляет, является ли arg целочисленным значением той же ширины, что и машинное слово, возвращает arg, в противном случае arg преобразуется в целое число.

лог арг

Рассчитывает натуральный логарифм арг.

log10 arg

Рассчитывает основание 10 логарифм аргумента.

Pow XY

Вычисляет значение x, возведенное в степень y. Если x отрицательно, y должно быть целочисленным значением.

рант

Вычисляет псевдослучайное число от 0 до 1.

круглый арг

Вычисляет значение arg, округленное до ближайшего целого числа.

грешник

Рассчитывает синус арг.

синх арг

Рассчитывает гиперболический синус арг.

sqrt arg

Рассчитывает квадратный корень из арг. аргумент должен быть положительным.

Srand Arg

Вычисляет псевдослучайное число между 0 и 1. Аргумент, который должен быть целым числом, используется для сброса начального числа для генератора случайных чисел rand.

Tan Arg

Рассчитывает тангенс арг.

Тан Арг

Вычисляет гиперболический тангенс аргумента arg.

широкий арг

Вычисляет целочисленное значение шириной не менее 64 бит (по расширению знака, если arg — 32-битное число) для аргумента arg, если оно еще не было.

Некоторые примеры использования математических функций приведены ниже —

Live Demo

#!/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 — функция сканирования, которая сканирует входную строку и преобразует ее в секунды.

  • open — функция, которая используется для открытия файла.

  • exec — функция, которая используется для выполнения системной команды.

  • close — функция, которая используется для закрытия файла.

часы — функция секунд, которая возвращает текущее время в секундах.

часы — функция форматирования, которая форматирует секунды в дату и время.

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

В следующей таблице приведены строки списка, которые можно использовать для форматирования даты и времени.

% в

День в короткой форме, например: Солнце.

% A

День в полной форме, например: воскресенье.

% б

Месяц в короткой форме.

% В

Месяц в полной форме.

% d

День месяца

% J

Юлианский день года.

% м

Месяц в номере.

% г

Год из двух цифр.

% Y

Год в четыре цифры.

%ЧАС

Час в 24 часах.

Час в 12 часовых часах.

% M

Протокол.

% S

Секунды.

%п

До или после полудня.

% D

Дата в номере, мм / дд / гг.

Время в 12 часовых часах.

Время в 24 часовых часах без секунд.

% Т

Время в 24 часовых часах с секундами.

% Z

Название часового пояса, как GMT, IST, EST и так далее.