1
私はいくつかのオブジェクトをすべて同じパラメータで作成したいので、それらを返すprocに保存しようとしました。しかし、通訳者は結果をいくつかではなく1つのパラメータとして評価します。procを使ってTclのパラメータを複製する
proc element_param {} {
return "-filled 1\
-visible 1\
-linewidth 1\
-linecolor yellow\
-fillcolor yellow\
-relief roundraised\
-linewidth 2"
}
と私はそれを使用する:私のprocがあり、私はいくつかの異なるパラメータにそれらを有効にするにはどうすればよい
$this/zinc add rectangle 1 [list "100" "100" "200" "200"] [element_param]
? TCL 8.5および使用上記で
または: 'eval [list $ this/zinc add rectangle 1 $ coords] [element_param]'これは恐ろしい方法で構築されていても返されるリストなので、 –
@Donal Fellows、それはなぜ恐ろしい方法で造られていますか、それを構築するためのより良い方法は何ですか? – SIMEL
@Ilya: 'list'コマンドを使うほうが良いでしょう。たとえば、スペースが入っているオプションが必要な場合は、引用符で正しいことをします。手でそれらのものを引用することは可能ですが、これは間違っていることが容易であるため、**強く推奨されません。 'list'(またはリストを作成する他のコマンドの1つ)を使って、それが自動的に正しく実行されるようにしてください。 –