我想写这样的文件:
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
你能帮我解决这个问题吗?
答案 0 :(得分: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
提供文件: