2014-06-30 191 views
1

我有這樣的片段在我的腳本:分配變量的值給另一個變量在TCL

set line [gets stdin]

set $line1 $line

是不是錯了? 我基本上想要將變量line的值複製到line1。它給我的錯誤:

can't read "line1": no such variable 
while executing 
"set $line1 $line" 

回答

3

在TCL,前面加上$一個變量替換其值的變量。因此,正確的語法是:

set line1 $line 

這幾乎是相同的語義*在C:前面加上*的指針在C中,它解除引用到其值。

+0

啊,很好。 – slebetman

+0

'set $ line1 $ line'的用法是'line1'變量包含另一個變量的名稱。這通常是不可維護代碼的標誌;有更清晰的方法(數組和/或'upvar'是最常見的方法)。 –

+0

工作.. dint認識到:D – aro