Tcl 内建函数
Tcl提供了许多用于各种操作的内建函数。包括:
- 处理列表的函数。
-
处理字符串的函数。
-
处理数组的函数。
-
处理字典的函数。
-
处理文件I/O的函数。
-
创建命名空间和包的函数。
-
数学运算的函数。
-
系统操作的函数。
上述除了数学和系统函数外,都在前几章中有介绍。数学和系统的内建函数在下面进行解释。
数学函数
Tcl中可用的数学函数列在下表中:
序号 | 方法 & 描述 |
---|---|
1 | abs arg 计算 arg 的绝对值。 |
2 | acos arg 计算 arg 的反余弦。 |
3 | asin arg 计算 arg 的反正弦。 |
4 | atan arg 计算 arg 的反正切。 |
5 | atan2 y x 计算其参数(y/x)的反正切。 |
6 | ceil arg 计算大于等于一个数的最小整数。 |
7 | cos arg 计算arg的余弦值。 |
8 | cosh arg 计算arg的双曲余弦值。 |
9 | double arg 如果arg是一个浮点数值,则返回arg,否则将arg转换为浮点数并返回转换后的值。 |
10 | exp arg 计算一个指数函数(e的arg次方)。 |
11 | floor arg 计算小于或等于arg的最大整数。 |
12 | fmod x y 计算x除以y的浮点余数。如果y为0,则返回错误。 |
13 | hypot x y 计算直角三角形斜边长度 sqrt(xx+yy)。 |
14 | int arg 计算arg是否为与机器字宽度相同的整数值,如果是则返回arg,否则将arg转换为整数。 |
15 | log arg 计算arg的自然对数。 |
16 | log10 arg 计算以10为底的arg的对数。 |
17 | pow x y 计算x的y次方的值。如果x为负数,则y必须为整数值。 |
18 | rand 计算一个在0和1之间的伪随机数。 19 round arg 计算将arg四舍五入到最近整数的值。 20 sin arg 计算arg的正弦值。 21 sinh arg 计算arg的双曲正弦值。 22 sqrt arg 计算arg的平方根。arg必须为正数。 23 srand arg 计算一个在0和1之间的伪随机数。arg必须为整数,用于重新设置rand的随机数生成器的种子。 24 tan | arg 计算arg的正切。 |
25 | tanh arg 计算arg的双曲正切。 |
26 | wide arg 如果arg不是至少64位宽度的整数值(如果arg是32位数,则通过符号扩展),则计算为arg。 |
以下是使用数学函数的一些示例:
当执行上述代码时,会产生以下结果 –
系统函数
在Tcl中,重要的系统函数包括:
- clock - seconds函数,返回当前时间(以秒为单位)。
-
clock - format函数,将秒数格式化为日期和时间。
-
clock - scan函数,扫描输入字符串并将其转换为秒数。
-
open - 函数,用于打开一个文件。
-
exec - 函数,用于执行一个系统命令。
-
close - 函数,用于关闭一个文件。
下面列出了这些函数的一些示例:
当以上代码执行时,它产生以下结果−
下表提供了可用于格式化日期和时间的字符串列表。
编号 | 格式与描述 |
---|---|
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 以数字表示的日期,mm/dd/yy。 |
16 | %r 12小时制的时间。 |
17 | %R 24小时制的时间,不包括秒数。 |
18 | %T 24小时制的时间,包括秒数。 |
19 | %Z 时区名称,如GMT,IST,EST等。 |