3

我想写这样的文件:

set fh [open $tmpFileName w]
puts $fh "set a [create_object]"
puts $fh "$a proc1_inside_a"
puts $fh "$a proc2_inside_a"
close $fh

但它会收到错误消息,因为a将在执行文件时创建变量tmpFileName。所以我得到这样的错误:

can't read "a": no such variable

你能帮我解决这个问题吗?

4

1 回答 1

3

您只需要使用不同的引用机制。双引号允许命令和变量替换。大括号将逐字保留其内容(禁止替换)

set fh [open $tmpFileName w]
puts $fh {set a [create_object]}
puts $fh {$a proc1_inside_a}
puts $fh {$a proc2_inside_a}
close $fh

可用文档:

于 2013-06-21T17:25:46.323 回答