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 и т. Д.