0

1 つの proc でファイルを生成するコードがあります。

puts $fh "proc generate \{ fileName\} \{"
puts $fh "[info body generateScriptBody]"
puts $fh "\}"
puts $fh "generate"
close $fh

proc generateScriptBody{} {
    source something1    
    source something2 
    ...
} 

この場合、私sourceはproc内にいるべきですか、それとも代替手段がありますか?

4

2 に答える 2

2

何をしようとしているのかわかりませんが、proc 内のソースは許容されます。proc 全体をファイルに書き込もうとしている場合はsaveprocs、TclX パッケージを参照してください。コードを簡素化するのに役立ちます。

アップデート

の使用例を次に示しsaveprocsます。

package require Tclx

# Generate a proc from body of one or more files
set body [read_file something1]
append body "\n" [read_file something2]
proc generate {fileName} $body

# Write to file
saveprocs generate.tcl generate

この場合、すべてのsourceコマンドを削除し、内容を proc の本体に直接読み込みました。

于 2013-07-01T15:07:29.780 に答える