【发布时间】:2021-01-21 16:22:07
【问题描述】:
我现在正在学习 Tcl。我只看到了一点,我看到例如创建一个变量(并初始化它)你可以这样做
set varname value
我熟悉这样一个事实,基本上所有内容都是一个字符串,例如上面的“value”,但是“varname”得到了一种特殊的处理,我猜是因为“set”内置函数,所以 varname 不是被解释为一个字符串,而是一个名称。 稍后我可以使用 $varname 访问该值,这对我来说很好,它用于指定 varname 不被视为字符串。 我现在正在阅读有关列表的内容,但有几个命令让我有点困惑
set colors {"aqua" "maroon" "cyan"}
puts "list length is [llength $colors]"
lappend colors "purple"
很明显,“lappend”是另一个类似 set 的函数,它可以将第一个参数解释为名称而不是字符串,但是为什么他们不让它 llength 相同(不需要 $)?
我认为这只是一个约定,一般来说,当你“读取”一个变量时,你需要 $ 而你不需要“写入”。
【问题讨论】:
标签: tcl