Tcl に問題があります。文字列を含む変数があります。しかし今、この文字列を次の変数の名前にしたいのです。
Web で同様の質問をいくつか見つけましたが、これらはすべて、変数の値を別の変数に配置することに関するものです。変数の名前として使用しないでください。
説明に役立つサンプルコードを次に示します。
foreach key [array names ::openedFiles] {
puts $::openedFiles($key)
set filename [file tail $::openedFiles($key)]
set parts [split $filename .]
set name [lindex $parts 0]
puts $name
$L1 create cell $name
set "value of $name" [ layout create $::openedFiles($key) -dt_expand -log LUN.log]
したがって、基本的には次のことを行う必要があります。配列にはパス文字列が含まれています。ファイル拡張子なしでパスからファイルの名前のみを取得します。
しかし、「$ name」の値である変数「cell」を作成したいと思います。したがって、ファイル名が「Test」の場合、 $name の値は「Test」になり、最後の行を次のようにしたい
set Test [ layout create $::openedFiles($key) -dt_expand -log LUN.log]
$name の値が新しい変数の名前になるようにします。そのため、配列内のすべての値の名前を持つ変数を作成できます。
どんな助けや指針も素晴らしいでしょう!
どうもありがとうございました!