私は非常に一般的な関数を作成し、外部から出くわした変数を使用するように命令しようとしています。私は次の(簡略化されたコード)を試しましたが、役に立たなかった:
set line "found \$find1 at \$find2"
do_search $line
proc do_search {line} {
...
if {[regexp $exp $string match find1 find2} {
puts "$line"
}
ただし、取得するのは次のとおりです。または、 beforefound $find1 at $find2
を使用しない場合は、関数を呼び出す前のfindの値。\
$find
この正規表現はファイルの解析中のwhileループの一部であるため、procが呼び出された後は値を使用できません。
どのようにそれを行うことができますか?