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 に答える