# TCL運算符優先級

Unary

+ -

Right to left

Multiplicative

* / %

Left to right

+ -

Left to right

Shift

<< >>

Left to right

Relational

< <= > >=

Left to right

Equality

== !=

Left to right

Bitwise AND

&

Left to right

Bitwise XOR

^

Left to right

Bitwise OR

|

Left to right

Logical AND

&&

Left to right

Logical OR

||

Left to right

Ternary

?:

Right to left

## 示例

#!/usr/bin/tclsh set a 20 set b 10 set c 15 set d 5 set e [expr [expr \$a + \$b] * \$c / \$d ] ;# ( 30 * 15 ) / 5 puts "Value of (a + b) * c / d is : \$e\n" set e [expr [expr [expr \$a + \$b] * \$c] / \$d] ;# (30 * 15 ) / 5] puts "Value of ((a + b) * c) / d is : \$e\n" set e [expr [expr \$a + \$b] * [expr \$c / \$d] ] ;# (30) * (15/5) puts "Value of (a + b) * (c / d) is : \$e\n" set e [expr \$a + [expr \$b * \$c ] / \$d ] ;# 20 + (150/5) puts "Value of a + (b * c) / d is : \$e\n"

Value of (a + b) * c / d is : 90

Value of ((a + b) * c) / d is : 90

Value of (a + b) * (c / d) is : 90

Value of a + (b * c) / d is : 50