問題タブ [introspection]

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 に答える
6290 参照

python - Pythonのisinstanceに相当するissubclassは何ですか?

オブジェクトが与えられた場合、それがクラスであるか、特定のクラス Foo のサブクラスであるかをどのように見分けるのですか?

例えば

0 投票する
8 に答える
2881 参照

c++ - 文字列表現から C/C++ メンバー変数を設定する良い方法はありますか? (イントロスペクションライト)

文字列から取得および設定できるようにしたいいくつかのメンバーを持つ構造体があります。C++ にはイントロスペクションがないことを考えると、マクロ、文字列化演算子を使用した創造的なソリューションが必要だと思います。おそらくboost::bind.、完全なシリアル化やイントロスペクションは必要なく、「イントロスペクション ライト」が必要です。

私はこれに沿って何かをしたいと思います:

if大げさな発言をするのではなく。

これに対するきちんとした解決策があるかどうか、何か考えはありますか?

関連する質問:オブジェクトの反射

編集:「map to int Type::*」トリックについてmaxim1000に感謝します-これは私にとってはうまくいきました:

0 投票する
5 に答える
16231 参照

java - プログラムで現在のクラスのJavaバイトコードバージョンを決定する方法は?

デプロイメント プラットフォームが Java 5 で、Java 6 の Eclipse で開発が行われている状況があり、特定のプロジェクトで作業を開始するときに新しいワークスペースを作成する手順を確立しました。したがって、必要な手順の 1 つはコンパイラ レベルを Java 5 に設定することですが、これは忘れがちです。

開発プラットフォームを実行するテスト マシンがあり、ビルドしたコードを実行して PC 上で初期テストを行うことができますが、コンパイラ レベルを切り替えるのを忘れると、プログラムを実行できません。顧客に提供するものを作成するためのビルド サーバーがありますが、これはうまく機能しますが、これはビルド サーバーが不要な開発用であり、不要な待機が追加されます。

問題は 、現在のクラスのバイト コード バージョンをプログラムで判別できるので、ローカル PC でのテスト中にコードが警告を出力できるかどうかです


編集:要件は現在のクラスに対するものであることに注意してください。これはクラスローダから利用できますか? それとも、現在のクラスのクラス ファイルを見つけて調査する必要がありますか?

0 投票する
5 に答える
95980 参照

python - Pythonパッケージの一部であるすべてのモジュールを一覧表示しますか?

Pythonパッケージの一部であるすべてのモジュールを見つける簡単な方法はありますか?私はこの古い議論を見つけましたが、これは実際には決定的なものではありませんが、os.listdir()に基づく独自のソリューションを展開する前に、明確な答えが欲しいです。

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

objective-c - ObjectiveCインスタンスのすべてのプロパティに辞書を自動的に入力します

辞書から値を設定したいプロパティを持つクラスがあります。

言い換えれば、私はこれを自動化したいと思います:

このようなもの(擬似コード):

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

python - Python の pydoc ヘルプ関数はどこでコンテンツを取得しますか?

多くの呼び出し可能なオブジェクトがあり、それらはすべて__doc__文字列が正しく入力されていますが、ヘルプを実行すると、に基づくヘルプではなく、クラスのヘルプが生成され__doc__ます。

ヘルプを実行すると、 を実装するクラスのインスタンスではなく、実際の関数である場合に得られるものと本質的に同じように見えるカスタマイズされたヘルプが生成されるように変更したいと考えています__call__

コードでは、これを出力したいと思います:

次の出力のようになります。

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

r - R で必要なものを見つける: R およびすべて (3,500 以上) の CRAN パッケージ内での集中検索

多くの場合、R には多数のパッケージに散在する多数の関数があります。これらはすべて同じ目的を持っていますが、もちろん精度、パフォーマンス、ドキュメンテーション、理論的厳密性などは異なります。

R 内から、さらにはインストールしていない CRAN パッケージの中から、これらをどのように見つけますか?

たとえば、一般的なプロット関数です。基本パッケージの関数を使用すると、セカンダリ ティックの設定がはるかに簡単になります。

もちろん、プロットは R コアにありますが、minor.tickはありません。実際にはHmiscにあります。

もちろん、それはplotのドキュメントには表示されませんし、期待するべきでもありません。

別の例: plotへのデータ入力引数は、関数hexbinから返されたオブジェクトによって提供できます。この関数は、R コアの外部のライブラリからのものです。

これらの関数の引数をさまざまなライブラリから収集し、それらを単一の名前空間に配置するプログラムによる方法は、明らかに素晴らしいことでしょうか?

*編集: (上記の例をより明確に再記述しようとしています:) R コアで提供されるplotの引数。たとえば、軸の目盛り周波数の設定は xaxp/yaxp です。ただし、Hmisc パッケージの minor.tick 関数のように、基本パッケージの外部の関数を介して a/t/f を設定することもできますが、プロット メソッドのシグネチャを見ただけではわかりません。 . このための R のメタ関数はありますか?*

これまでのところ、それらに出くわしたので、手動で収集してきました。各セットは、1 つのTextMate スニペットに (付属のライブラリ インポートと共に) 収集されました。これはそれほど難しくなく、時間もかかりませんが、これらの追加の引数/パラメーターを見つけたときにのみ、スニペットを更新できます。これを行う標準的なRの方法、または少なくともより簡単な方法はありますか?

明確でない場合に備えて、複数のパッケージが同じ統計またはビューに向けられた関数を提供するケースについては話していません (たとえば、基本パッケージの「boxplot」、gplots の「boxplot.matrix」、および「bplots」 ' Rlab で)。私が話しているのは、関数名が 2 つ以上のパッケージで同じである場合です。

0 投票する
8 に答える
56845 参照

java - Java で汎用フィールドの型を判別するにはどうすればよいですか?

クラス内のフィールドのタイプを判別しようとしています。私はすべてのイントロスペクション方法を見てきましたが、それを行う方法を完全には理解していません. これは、Java クラスから xml/json を生成するために使用されます。ここでいくつかの質問を見てきましたが、必要なものが正確に見つかりませんでした。

例:

このオブジェクトをマーシャリングするとき、chidrenフィールドが type のオブジェクトのリストであることを知る必要があるPersonため、適切にマーシャリングできます。

私は試していた

しかし、これはそれが であり、のでListはないことだけを教えてくれますListPerson

ありがとう

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

javascript - 関数で定義された変数を見つける方法

次のような長いJavaScript関数があるとします

関数自体に、これまでに定義された変数を教えてもらう方法はありますか。

0 投票する
4 に答える
5193 参照

scala - Scala には、Python の dir() に似た機能を持つイントロスペクションがありますか?

はい、非 Pythonistas によって怠け者と見なされていることは知っています。私が質問する理由は、多くの Scala ライブラリ (Scala-dbc など。しかし、私が調べているのはそれだけではありません) でドキュメントがまだひどく不足しているためです。実行時にオブジェクト/クラスの属性を確認できれば、少なくとも何が利用できるかを理解してください。ありがとう。