問題タブ [upvar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tcl - TCL の upvar 0 と upvar 1 の違い
upvar 0
とTCLの違いupvar 1
、リアルタイムでの使用方法を教えてください。親切に、誰かが例を挙げて説明すると、より明確になります。
tcl - Tcl upvar の問題
(上向きのスタックで) upvar を使用して変数を変更しようとしていますが、変数の値は変数名ではなくプロシージャに渡されます。
渡されたものを変更することはできません。これは、プログラムで既に広く実装されているためです。
ファイル名を何らかの方法で変更する方法はありますか?
このコードは、ファイルの新しい名前ではなく、古い名前を出力します。
namespaces - 予想される TCL: upvar と名前空間変数のパフォーマンス
仕様/実装によって、名前空間変数へのアクセスとupvarへのアクセスの間に予想される違いはありますか。コールバック関数を使用する必要があります。引数をそのまま渡すことはできません。経験的に、upvar が勝ちます。しかし、すべての合理的なケースで、それは期待されていますか? ありがとう。
tcl - Tcl: すべてのレベルで変数を検索
私の質問の背景: エラー状況を特定するのに役立つ追加メッセージを書き出すエラー手順を書きたいと思います。この追加情報が提供されているコード部分と提供されていないコード部分があります。私の考えは:
- グローバル メッセージ変数
message
を空の文字列に設定する message
エラーを引き起こす可能性のあるプロシージャを呼び出す前に、ローカル メッセージ変数を作成します。- エラー手順: 変数のすべてのレベルを下方向に検索し
message
、最初に見つかった値を取得します
グローバルmessage
変数を設定して、常にこれにアクセスすることもできますが、後でリセットする必要があります (設定されていない他の部分でエラーメッセージが表示されるのを防ぐためmessage
)。
私はsearchVar
手順を書きました:
ここにいくつかのテストコードがあります:
を与える
これにより、目的の動作が得られます。 の値message
は、最後に定義されたものです (呼び出し順序に関して)。
私の質問は次のとおりです。よりコンパクトな、または「標準的な」ソリューションはありsearchVar
ますか? それとも、問題全体に対するより洗練された解決策ですか?