在TCL中将一个变量的值赋给另一个变量
我的脚本中有以下代码片段:在TCL中将一个变量的值赋给另一个变量,tcl,Tcl,我的脚本中有以下代码片段: 设置行[get stdin] 设置$line1$line 错了吗? 我基本上想把变量line的值复制到line1。这给了我一个错误: can't read "line1": no such variable while executing "set $line1 $line" 在tcl中,在变量前面加上$,将该变量替换为其值。因此,正确的语法是: set line1 $line 这与C中的*的语义几乎相同:在C中为指针加上前缀*会将指针解引用到其值。set$lin
设置行[get stdin]
设置$line1$line
错了吗?
我基本上想把变量line
的值复制到line1
。这给了我一个错误:
can't read "line1": no such variable
while executing
"set $line1 $line"
在tcl中,在变量前面加上
$
,将该变量替换为其值。因此,正确的语法是:
set line1 $line
这与C中的
*
的语义几乎相同:在C中为指针加上前缀*
会将指针解引用到其值。set$line1$line的用法是line1
变量包含另一个变量的名称。这通常是无法维护代码的标志;有更清晰的方法(数组和/或upvar
是最常见的方法)。