問題タブ [locals]
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.
python - locals() と globals() を defaultdict のようにする方法はありますか
実行時に Pythonの変数global
と変数の動作を変更することは可能ですか?local
Python ではlocals()
、オブジェクトである現在の実行スコープ内の変数への参照を提供しdict
ます。
locals()
によって返された参照を に置き換えることは可能ですが、置き換えるdefaultdict
前に以前の値 ( のコピーlocals()
) を保持することはできますか?
UnboundLocalException
これにより、初期化されていない変数を使用し、実行スコープ内の任意の変数名にアクセスするときの例外が回避されることが期待されます (初期化されていない変数は、指定されたデフォルト値を取ります)。
返された値locals()
をローカルに再割り当てして変更しようとしましたが、成功しませんでした。
同じ質問が に当てはまりglobals()
ます。
c# - デバッグ中にローカルに表示されるオブジェクトが、エディターで取得したものと一致しない
既存のアプリケーションのカスタマイズの一環として、あるクラスでオブジェクトを作成し、それを別のクラスで使用する必要があります。これで、クラスにオブジェクトが作成されました。デバッグ時に、ローカル ツリーをドリルスルーして、ツリーの数ステップ下にあるオブジェクトを確認できます。単純化すると、次のようになります。
オブジェクトA
--> オブジェクト B
----> オブジェクト C
オブジェクト C は、オブジェクト A で見つかったオブジェクト B で見つかりました
基本的に objectA.objectB.objectC を実行することでオブジェクトを取得できると思いましたが、問題は、デバッガーが明確にそうでないと言っているにもかかわらず、objectA に objectB がないことです。
いくつかのスクリーン ダンプ:
デバッガーは、eft オブジェクトに SessionProcessor オブジェクトへのパスがあることを示します。
Intellisense は、デバッガーで見た EftServices を提供しません
私は何が欠けていますか?
前もって感謝します、
.søren
c - 210 を超える要素を持つ char の配列をデバッグする方法
Windows デスクトップ用の Visual Studio Express 2013 を使用していますが、変数の値を確認したいと考えています。
これは非常に簡単に見えます。「ローカル」ウィンドウを開いて値を確認するか、それを「ウォッチ」ウィンドウに追加すると、値を読み取ることができます。
これは確かに真実ですが、私の変数は char 配列 ( typedef char T_BufCommandLine [32768];
) で、210 文字を超えており、最初の 210 文字しか表示されません。その後、3 つのドット ("...") があり、配列がまだ終わっていません。
この変数の値を拡張できることはわかっていますが、結果はあまり読みにくく、その一部をコピーすることは完全に不可能です。
私の質問: 210 文字を超える char の配列の値を "..." のない 1 つの文字列として視覚化する方法を知っている人はいますか?
python - 別のスタック フレームの Python locals() 辞書を強制的に更新するにはどうすればよいですか?
Python 2 (3 については不明) では、locals 辞書は、実際に locals() を呼び出したときにのみ更新されます。だから例えば
l
キー「x」が含まれていないため失敗しますが、
2 を返します。
ローカル辞書を強制的に更新する方法を探していますが、秘訣は別のスタック フレームにいることです。だから例えば私はやろうとしている
関数を書く必要がありforce_update()
ます。上記の関数から、 を介して親フレームを取得でき、inspect.currentframe().f_back
さらに を介して親 (更新されていない) ローカルを取得できることはわかってinspect.currentframe().f_back.f_locals
いますが、更新を強制するにはどうすればよいですか?
これが複雑に思える場合、私の主な目標は、 の省略形である関数を作成することです。"{some} string".format(**dict(globals(),**locals()))
これにより、毎回それを入力する必要がなくなり、代わりにfmt("{some} string")
. そうすることで、上記の問題に遭遇します。
編集:以下のMartjinの回答で、以下は本質的に私が探していた解決策です。呼び出し先のスタック フレームを取得する方法を正確にいじることができます。ここでは、 を介して行いpartial
ます。
ruby-on-rails - 部分的なRails AJAXリクエストは、割り当てられているにもかかわらず、ローカルをロードしません
だから、どこへ行けばいいのかわからず、何時間も頭をバタンと閉めていました。_show.html.haml
内でパーシャルをレンダリングしようとしていますindex.html.haml
。ただし、レンダリング時にローカルが宣言されているにもかかわらず、ローカルがロードされないという問題が引き続き発生します。
これは私のコントローラーです。
これはIndex.html.haml
これは、このエラーを返し続けるレンダリングしようとしている部分です。
undefined method 'titleize' for nil:NilClass
_show.html.haml
なぜこれが起こっているのかを理解するための助けをいただければ幸いです。
ありがとう!
編集
また、これはAJAXなしで正常に機能することも付け加えておきます
lua - Lua での debug.getlocal との混乱
ここでは、Lua (5.1) で debug.getlocal 関数を使用してローカル変数をテーブルに挿入する方法を見てきました。
ただし、作成したテーブルを返してそのエントリにアクセスしようとすると、機能しません。
いくつかの試行錯誤の後、テーブルを変数にバインドしてから返すか、単に括弧を追加するだけで動作が修正されることに気付きました。
これは私を非常に混乱させます。これらの 2 つのプログラムが異なるのはなぜですか? 私は何を理解していませんか?locals() が末尾呼び出し位置にあるという事実は、何か違いがありますか?