鍍金池/ 教程/ 物聯(lián)網(wǎng)/ TCL變量
TCL內(nèi)置函數(shù)
TCL變量
TCL嵌套循環(huán)
TCL決策
TCL循環(huán)
Tcl if...else語句
Tcl教程
TCL字符串
TCL邏輯運算符
TCL Switch語句
TCL列表
TCL運算符優(yōu)先級
TCL數(shù)據(jù)類型
TCL環(huán)境設(shè)置
TCL正則表達式
TCL命名空間
TCL運算符
TCL特殊變量
TCL數(shù)組
TCL算術(shù)運算符
Tcl For循環(huán)
TCL文件I/O
TCL關(guān)系運算符
TCL if語句
TCL命令
TCL基本語法
TCL三元運算符
TCL continue語句
TCL嵌套if語句
TCL字典
TCL break語句
TCL包
TCL 嵌套switch語句
TCL while循環(huán)
TCL位運算符
TCL過程
TCL錯誤處理

TCL變量

在TCL,變量聲明沒有概念。當遇到一個新的變量名,TCL將定義一個新的變量。

變量命名

變量的名稱可以包含任何字符和長度。甚至可以存在空格被封閉在大括號中的變量,但不建議這樣做。

set命令用于指定值的變量。set 命令的語法是:

set variableName value

變量的幾個例子如下所示。

#!/usr/bin/tclsh

set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}

當上述代碼被執(zhí)行時,它會產(chǎn)生以下結(jié)果。

10
test

正如可以在上面的方案看到,$variableName 用于獲取變量的值。

動態(tài)類型

TCL是一種動態(tài)類型語言。變量的值可以在需要時被動態(tài)地轉(zhuǎn)換為所需的類型。例如,一個數(shù)字5,其被存儲為字符串將做的算術(shù)運算時被轉(zhuǎn)換為數(shù)字。它如下所示。

#!/usr/bin/tclsh

set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum

當上述代碼被執(zhí)行時,它會產(chǎn)生以下結(jié)果。

10
30

數(shù)學(xué)表達式

正如在上面的例子中看到,expr是用于表示數(shù)學(xué)表達式。 Tcl默認精度為12位。為了得到浮點運算的結(jié)果,我們應(yīng)該增加至少一個十進制數(shù)字。一個簡單的例子說明了上述情況。

#!/usr/bin/tclsh

set variableA "10"
set result [expr $variableA / 9];
puts $result
set result [expr $variableA / 9.0];
puts $result
set variableA "10.0"
set result [expr $variableA / 9];
puts $result

當上述代碼被執(zhí)行時,它會產(chǎn)生以下結(jié)果。

1
1.1111111111111112
1.1111111111111112

在上面的例子中,可以看到三種情況。第一種情況,被除數(shù)和除數(shù)是整數(shù),得到一個整數(shù)作為結(jié)果。第二種情況,除數(shù)是小數(shù)以及第三種情況,分數(shù)是一個十進制數(shù)。在第二和第三情況下,得到的是十進制數(shù)作的結(jié)果。

在上面的代碼,可以使用tcl_precision特殊變量改變精度。它如下所示。

#!/usr/bin/tclsh

set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result

當上述代碼被執(zhí)行時,它會產(chǎn)生以下結(jié)果。

1.1111

上一篇:TCL字符串下一篇:TCL嵌套if語句