問題タブ [inspect]

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.

0 投票する
1 に答える
585 参照

java - PlayFrameworkのデバッグ変数

Play Frameworkまたは単純なJavaで変数とクラスをデバッグまたは検査するにはどうすればよいですか?

具体的には:

アプリケーションではどちらの方法が優れていますか?
例えば。Ruby on Railsでは、次のいずれかを実行します。

そして、Groovyテンプレートでどちらが良いでしょうか?
例えば。Ruby on Railsの場合:

私はPlayフレームワークとJava開発に不慣れであることに注意してください。

0 投票する
3 に答える
1471 参照

python - __getattr__ 内から着信引数を検査する方法、または何らかの方法で着信引数に基づいて呼び出しをリダイレクトする方法はありますか?

背景: トランザクションの請求先の国に基づいてフローを分割するトランザクションのシステムがあります。2 つのインスタンスに存在するロギング テーブルがあります。1 つの DB は EU にトランザクションを記録し、もう 1 つは他の場所にトランザクションを記録します。大まかに言えば、各テーブルがクラスによって表される DB を操作する根性を管理および非表示にするテスト ライブラリもあります。テーブルを表すクラスがあり、db セッション マネージャー クラスには、クラスの 2 つのインスタンスのそれぞれに対して 2 つのメンバーがあります。私がやりたいことは、任意の呼び出しを受け取り、引数を検査し、入力引数の 1 つに基づいて、呼び出しを正しい db インスタンスを表すクラス インスタンスにディスパッチする汎用の「メタ ダオ」クラスを作成することです。最初はすべてのメソッドをオーバーロードすることだけを考えていましたが、それは'

__getattr__メソッドルックアップをオーバーライドして、受信したメソッドの名前に基づいて正しいインスタンスを呼び出すことができるようにすることを検討していまし__getattr__たが、私が理解していることinspectから、内から着信メソッド引数を取得できない__getattr__ため、この場合、その中から適切にディスパッチしないでください。私が追求できる別の方向性、またはメソッド名だけでなく、内部から引数を「検査」する方法についてのアイデアはあります__getattr__か?

[編集] これが私が話していることの一般化されたバージョンです:

0 投票する
2 に答える
1087 参照

css - CSS ファイルが inspect 要素によって認識されない - 謎

数日前から最も奇妙なことが起こっています。Inspect 要素が css ファイルを認識しなくなりました (添付の画像を参照)。どういうわけかcssファイルが画像としてリストされます。

このcssファイルの内容を別の(動作中の)cssファイルにコピーして、問題が内容なのか、それとも権限のようなものなのかを確認しました。しかし、その後、作業ファイルも認識されなくなりました。そのため、内容には非常に奇妙なものがあります。

誰かがアイデアを得ましたか?

ここに画像の説明を入力

http://sbx.mujjo.com/media/images/sc.png

0 投票する
2 に答える
4310 参照

python - 関数のコンテキストを含む取得

Python では、オブジェクト (私の場合は関数) を含むコンテキストを取得して、それを変更するにはどうすればよいですか? たとえば、メソッドの場合、そのコンテキストはクラスです。フリー関数の場合、そのコンテキストはモジュールです。

関連する質問:
インスタンス メソッドの Python デコレーターはクラスにアクセスできますか?

0 投票する
2 に答える
4293 参照

python - python inspect を使用して関数内のローカル変数を表示する

inspect / inspect_shellを使用して現在実行中の関数を検査する方法がわかりません

getinnerframe と getouterframe を使用してフレーム階層をたどる必要があると思いますが、いくつかの問題で混乱しています。

この例のnine.pyを考えると:

x関数が新しい値を返して出力するように、値を検査するか、場合によっては変更したいと思います。

最初に nine.py を起動し、次にinspect_shellを使用して別のコマンド ウィンドウでgetinnerframes、現在のフレームで機能しないことがわかり(トレースが必要です (おそらく?))、現在のフレームには「トレース」がありません。そしてgetouterframes(私がこれを逆に考えている場合)私の機能とは何の関係もないフレームだけを取得するようです。

0 投票する
6 に答える
3993 参照

python - Python:デコレータは、関数がクラス内で定義されているかどうかを判断できますか?

私はデコレータを書いていますが、さまざまな厄介な理由[0]で、ラップしている関数がスタンドアロンで定義されているのか、クラスの一部として定義されているのか(さらに、新しいクラスがサブクラス化されているクラス)を確認すると便利です。 。

例えば:

印刷する必要があります:

また、注意してください:

  • デコレータが適用された時点では、関数はバインドされていないメソッドではなく関数のままであるため、インスタンス/バインドされていないメソッド(typeofまたはを使用inspect)のテストは機能しません。
  • この問題を解決する提案のみを提供してください—この目的を達成するための同様の方法がたくさんあることを知っています(たとえば、クラスデコレータを使用する)が、後でではなく、装飾時にそれらを実行したいと思います。

[0]:具体的には、でパラメーター化されたテストを簡単に実行できるようにするデコレーターを作成していますnose。ただし、のサブクラスでテストジェネレータを実行しnoseないのでunittest.TestCase、デコレータがのサブクラス内で使用されているかどうかを判断TestCaseし、適切なエラーで失敗するようにしたいと思います。明らかな解決策-isinstance(self, TestCase)ラップされた関数を呼び出す前に使用することは機能しません。ラップされた関数はジェネレーターである必要があり、まったく実行されないためです。

0 投票する
3 に答える
846 参照

ruby - YAML を使用する利点は何ですか?

inspect出力を書き込んで を介してロードすることで情報を外部ファイルに保存するという考えに誰かが言及するevalと、多くの人がその考えを批判し、代わりに YAML の使用を推奨することがわかります。の出力を書く際の問題は何inspectですか? また、YAML が好まれるのはなぜですか? inspect人間の可読性については、YAML よりも ruby​​ やppformat の方が優れていると思います。

0 投票する
11 に答える
145211 参照

python - 辞書を使用して実行する関数を選択する

関数型プログラミングを使用して、実行するキーと関数を含む辞書を作成しようとしています:

さて、モジュールで定義された関数を見つけるために使用されるコードを見てきました。次のようなことをする必要があります。

私の質問は、すべてのExec関数のリストを作成し、辞書を使用してそれらを目的の項目に割り当てるにはどうすればよいですか? だから最後に私はmyDict["P1"]() #this will call ExecP1()

私の本当の問題は、それらのアイテムがたくさんあり、それらを処理するライブラリを作成して、最終ユーザーが呼び出すだけでよいことです。myMain("P1")

inspect モジュールを使用していると思いますが、その方法がよくわかりません。

避けるべき私の理由:

アプリケーション内でスクリプト機能を提供するためにコードを使用しているため、コードを保護する必要があるということです。

0 投票する
0 に答える
93 参照

python-3.x - Pythonトレースを使用して高レベルのメソッドに信号を送る

低レベルの関数が高レベルの関数に再度呼び出すことでシグナルを送信するサーバーを構築しています。例えば:

過去の関数呼び出しを出力するtraceback.extract_stack()またはinspect.stack()メソッドを使用すると、私が探しているものに近づきます。つまり、bar()に到達したときに、それを知りたいのです。もともと、私はこれをすべて実行するためにblah()を呼び出しました。ただし、実際にblah()を再度呼び出す方法がわかりません。ところで、私は上記が単なる例である円形になることを理解しています。

また、関数を介して引数を返さないようにしたいです。これをすべて追跡するトレースバック/検査/トレーストリックがあることを期待しています。

@ThomasK、私が今何をしているのかについてもう少し背景(おそらくこれは完全に間違っていると思っています):1)さまざまなソース(つまりルート)から情報を取得し、一連の計算を行うサーバーがあります、次に、最終的なデータポイント(つまり、リーフ)を要求するクライアントに送信します2)クライアントは、「X、Y、Zが必要です」と言って要求を開始し、レイジーサーバーがそれを取得します3)その後、サーバーはルートを追跡し、「ルート」のいずれかが変更されると、影響を受けるすべての「リーフ」を自動的にプルして、クライアントに更新を送信します。上記の簡略化された例では、bar()はルートであり、blah()はクライアントにデータを送信するリーフです。

将来の開発をより柔軟にするために、何もハードコーディングせず、「データが変更されたら、すぐに行って全員にデータを再要求するように指示する」という基本的な前提を維持したいと思います。おそらく、これをカプセル化するパターンがあります。