私の環境では環境変数を使用していますが、環境変数が存在しない場合は、NAME_ENV_VARというエラーメッセージが表示されます。そのような変数はありません。 は例えば、ラインエラーを回避する方法:そのような環境変数はありませんか?
myeval $env($File)
に私はエラーメッセージが表示されます。
can't read "env(NIKE_TECH_DIR)": no such variable
while executing
"myeval $env($File)"
(procedure "chooseRelevantFiles" line 39)
invoked from within
"chooseRelevantFiles $::GlobalVars::reqStage"
(file "/vobs/tavor/src/Scripts/ReproduceBug.tcl" line 575)
は、どのように私はこのエラーを回避し、私のスクリプトを実行するために行くことができますか?
+1を一般的に言って、私はシステムの中で何かが原因で競合状態の存在するかどうかをチェック避けたいが、この場合には、それはおそらく適切 –
である私は、 'upvarが好き0 :: env($ stuff)myvar;もし{{info is myvar}} {{'イディオムがやや良い。しかし、それはすべて個人的な好みに依存します。 – kostix
@jk:エラーをキャッチするのは、避けるよりもはるかに遅いです.Tclのエラー処理は、目的に応じて超高速ではありませんが、:: :: envは、処理が遅い特殊なケースです(プロセス全体の状態Tclのコントロール外で変更することができます)。 –