Tcl 运算符和数学函数

 

Tcl 运算符和数学函数

~/tcltk$ cat maths.tcl

#!/usr/bin/tclsh
#
# Demonstrate operators and
# math functions

set PI [expr 2 * asin(1.0)]

if {$argc == 3} {
set X [lindex $argv 0]
set Y [lindex $argv 1]
set Rad [lindex $argv 2]

set Dist [expr sqrt(($X*$X)+($Y*$Y))]
set Cir [expr 2*$PI*$Rad]
set Area [expr $PI*$Rad*$Rad]

puts stdout "Distance = $Dist"
puts stdout "Circumference = $Cir"
puts stdout "Area = $Area"

} else {
puts stdout "Wrong argument count!"
puts stdout "Needs X, Y, and Radius"
}

********
~/tcltk$ ./maths.tcl 3 4 5
Distance = 5.0
Circumference = 31.4159265359
Area = 78.5398163397

 

Tcl 支持一组标准的运算符和数学函数。这些运算符包括算术、位和逻辑运算符,可以通过 expr 命令使用常规的运算符优先次序规则进行求值。另外,考虑到 Tcl 的实质是面向字符串的脚本语言,所以对一些数学函数进行了合理的补充:

  • 三角函数包括 cos(x)、acos(x)、cosh(x)、sin(x)、asin(x)、sinh(x)、tan(x)、atan(x)、atan2(y, x)、tanh(x) 和 hypot(x, y)。与这些函数相关的单位是弧度。
  • Log 函数是 exp(x)、log(x) 和 log10(x)。
  • 算术函数是 ceil(x)、floor(x)、fmod(x, y)、pow(x, y)、abs(x)、int(x)、double(x) 和 round(x)。
  • rand() 和 srand(x) 是处理随机数的函数。

 

你可能感兴趣的:(tcl/tk)