Tcl - 内置函数


Tcl 提供了许多内置函数(过程)用于各种操作。这包括 -

除数学和系统函数外,上述所有内容都在前面的章节中介绍过。数学和系统内置函数解释如下。

数学函数

下表列出了 Tcl 中可用的数学函数 -

先生。 方法及说明
1

绝对精氨酸

计算 arg 的绝对值。

2

阿科斯精氨酸

计算 arg 的反余弦。

3

阿辛精氨酸

计算 arg 的反正弦。

4

阿坦精氨酸

计算 arg 的反正切。

5

阿坦2yx

计算其参数 (y/x) 的商的反正切。

6

细胞精氨酸

计算大于或等于数字的最小整数。

7

余弦精氨酸

计算 arg 的余弦。

8

科什精氨酸

计算 arg 的双曲余弦。

9

参数

计算 arg 是否为浮点值,返回 arg,否则将 arg 转换为浮点值并返回转换后的值。

10

表达式参数

计算指数函数(e 的 arg 次方)。

11

楼层参数

计算小于或等于 arg 的最大整数。

12

fmod xy

计算 x 除以 y 的浮点余数。如果 y 为 0,则返回错误。

13

血糖

计算直角三角形 sqrt(x*x+y*y) 的斜边长度。

14

整数参数

计算 arg 是否是与机器字宽度相同的整数值,返回 arg,否则将 arg 转换为整数。

15

记录参数

计算 arg 的自然对数。

16

log10参数

计算 arg 以 10 为底的对数。

17 号

战俘xy

计算 x 的 y 次方值。如果 x 为负数,则 y 必须为整数值。

18

兰特

计算 0 到 1 之间的伪随机数。

19

圆形参数

计算 arg 的值,四舍五入到最接近的整数。

20

正弦精氨酸

计算 arg 的正弦。

21

辛格_

计算 arg 的双曲正弦。

22

开方参数

计算 arg 的平方根。arg 必须为正数。

23

srand arg

计算 0 到 1 之间的伪随机数。 arg 必须是整数,用于重置 rand 随机数生成器的种子。

24

正切

计算 arg 的正切。

25

双曲正切值

计算 arg 的双曲正切。

26

arg

如果 arg 还不是 1,则为 arg 计算至少 64 位宽的整数值(如果 arg 是 32 位数字,则通过符号扩展)。

下面给出了一些使用数学函数的示例 -

#!/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 中的重要系统函数包括:

  • 时钟- 秒函数,返回当前时间(以秒为单位)。

  • 时钟- 格式函数,将秒格式化为日期和时间。

  • 时钟- 扫描函数,扫描输入字符串并将其转换为秒。

  • 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

下表提供了可用于格式化日期和时间的列表字符串。

先生。 格式及描述
1

%A

日的缩写形式,例如:Sun。

2

%A

日期的完整形式,例如:Sunday。

3

%b

月份的缩写形式。

4

%B

月份的完整形式。

5

%d

一个月中的某一天。

6

%j

一年中的儒略日。

7

%m

月份数。

8

%y

两位数的年份。

9

%Y

四位数的年份。

10

%H

24 小时制的小时。

11

%我

12 小时制的小时。

12

%M

分钟。

13

%S

秒。

14

%p

上午或下午。

15

%D

日期数字,mm/dd/yy。

16

%r

时间采用 12 小时制。

17 号

%R

时间采用 24 小时制,不带秒。

18

%T

时间采用 24 小时制,带秒。

19

%Z

时区名称,如 GMT、IST、EST 等。