問題タブ [module]
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 - Python: 含まれているパッケージをインポートする
パッケージ内にあるモジュールでは、そのパッケージ内で定義された関数を使用する必要があり__init__.py
ます。パッケージ内に存在するモジュール内にパッケージをインポートして、その機能を使用するにはどうすればよいですか?
モジュール内にインポート__init__
すると、パッケージはインポートされませんが、代わりに という名前のモジュールがインポートされ__init__
、名前の異なるものの 2 つのコピーが作成されます...
これを行うためのpythonicな方法はありますか?
perl - 単一のファイルを「使用」して、Perl で他の複数のファイルを使用する方法はありますか?
プロジェクトのほぼすべてのスクリプトとモジュールで使用されるいくつかのモジュールを作成したいと考えています。これらは、次のように各スクリプトで使用できます。
これらすべてのuseステートメントを新しいモジュールに移動して、スクリプトとモジュールのそれぞれでFoo::Corge
のみ移動することは可能ですか?use Foo::Corge
debugging - 交換可能なシングルトンでデバッグを容易にする?
データベース テーブル構造の概要を示すクラスや、アプリケーションの構成の概要を示すクラスなど、プログラムの実行中に状態がまったく変化しないクラスがいくつかあります。私は現在、これらのクラスをシングルトンとして持っており、情報を取得したいクラスはクラス インスタンスを要求し (たとえば、一般的な getInstance() メソッドから)、必要な情報を取得します。これは機能しますが、構成に関してはより多くのモジュール性を許可することを望んでいましたが、これが私が立ち往生しているところです。
私の主な目標は、コードの読みやすさを維持しながら、モジュラー構成で簡単にデバッグできるようにすることです。構成設定を使用するクラスが適切な構成インスタンスを取得できるYet Another Singleton(tm)を含めずに、デバッグのために構成を交換する機能をどのように許可するかはわかりません。
これは PHP Web アプリケーション用ですが、ソリューションが言語に依存しない可能性が高いと推測しているため、そのようにタグ付けされていません。
編集:私の質問への回答に関する限り、依存性注入が私の空想をくすぐっていますが、私の質問を明確にするために、(おそらく単純化しすぎた)例を提供させてください。
Configシングルトンで識別された接続情報を単純に使用するPHPのMysqliクラスのラッパーがあるとしましょう...
この例では、Mysql クラスは Config に含まれている設定のみを受け入れ、Config に含まれている設定以外の設定を使用することはできません。この例では、単にホスト/ユーザー名/パスワード/その他のものをコンストラクターに貼り付ける方が理にかなっているかもしれませんが、Mysql クラスを使用して構成シングルトンから取得するクライアントに当てはまり、多くの場合に問題が再び現れます。より多くのクラス。最終的には常に Config から依存関係を取得するため、この設定でさまざまな設定を簡単に試すことはできません。
ここのすばらしいコメントを含むいくつかの場所で読んだことから、依存性注入が私の最善の策であるように思えます。将来の読者のために、PHP に関する依存性注入に関する 1 つの素晴らしい記事を見つけました。
python - モジュールのロード中に Paramiko を使用するとハングするのはなぜですか?
以下をファイルhello.pyに入れます(easy_install paramiko
まだ取得していない場合):
最初の行を適切に入力します。
今すぐ入力
ls の出力が表示されます。
代わりに入力します
そして、インタプリタ型の中から
そして出来上がり!ハングします!コードを関数でラップしfoo
てimport hello; hello.foo()
代わりに実行すると、ハングが解除されます。
モジュールの初期化で Paramiko を使用するとハングするのはなぜですか? そもそもParamikoは、モジュールの初期化中に使用されていることをどのように認識していますか?
communication - モジュール間の通信
次の 3 つのモジュールから構成されるアプリケーションがあります。
- 検索 (オブジェクトを検索する)
- リスト(検索結果を表示するため)
- Painter (オブジェクトを編集できるようにするため) - このモジュールは常に読み込まれるわけではありません
(各オブジェクトは、ペインターで編集できる図です)。
ペインターでオブジェクトを開くと、すでにペインターにあるオブジェクトに追加され、移動したり変更したりできます。
モジュール間の通信に EventAggregator に似たオブジェクトを使用しています。たとえば、検索結果を表示するには、List モジュールによってキャッチされる "ShowList" イベントを発行します (これが最善の方法かどうかはわかりません。より良いアイデアがある場合はコメントしてください...)。
検索モジュールの機能の 1 つは、ペインタで選択されたオブジェクトを取得することを必要とします (ペインタが利用可能な場合)。
私はこれらの解決策を考えました:
ペインタで選択されたオブジェクトが変更されるたびに、「PainterSelectedObjectChanged」イベントが発行されます。このイベントは検索モジュールによって捕捉され、後で使用するために保存されます。
選択されたオブジェクトが検索モジュールによって必要とされると、ペインタ モジュールによってキャッチされる「RequestingPainterSelectedObject」イベントが発行されます。次に、ペインタ モジュールは EventArgs オブジェクトに「SelectedObject」プロパティを設定します。パブリッシュが完了し、検索モジュールに戻ると、ペインタが選択したオブジェクトが EventArgs オブジェクトに含まれます。
どう思いますか?これを行う正しい方法は何ですか?
python - __init __。pyは何のためにありますか?
__init__.py
Pythonソースディレクトリの目的は何ですか?
perl - Perlモジュールでプライベート関数を作成するにはどうすればよいですか?
私は小さなPerlモジュールに取り組んでおり、何らかの理由で、新しいモジュールを使用していたテストドライバースクリプトが、プライベートだと思っていた関数の1つを呼び出し、成功しました。驚いたので、グーグルを検索し始めましたが、Perlモジュールでプライベート関数を作成する方法に関するドキュメントを実際に見つけることができませんでした...
次のように、「プライベート」関数の閉じ中括弧の後にセミコロンを付けると言われている場所を見ました。
私はそれを試しましたが、私のドライバースクリプトは、私がプライベートにしたい関数にアクセスできました。
短い例になるようなものを作りますが、私が求めているのは次のとおりです。
モジュールTestPrivate.pm:
ドライバー:TestPrivateDriver.pl
ドライバー出力:
そのため、モジュールの最後の閉じ中括弧の後にセミコロンを追加しましたが、出力は同じです。私が実際に見つけた唯一のことは、この行を私のprivate_functionの最初の行として追加することでした。
しかし、それはかなりハッキーなようです。私はPerlモジュールを書いた経験があまりないので、モジュールを間違って設定しているのではないでしょうか?perlモジュールにプライベート関数と変数を含めることは可能ですか?
私が学ぶのを手伝ってくれてありがとう!
python - Python モジュールが正常にインストールされたことをテストするにはどうすればよいですか?
Beautifulsoupをインストールしてみました。次のようなエラーが表示されます:
<-- 中略 -->
次のように vim で Python コードを実行すると、同様のエラーが発生します: :!python %
ruby - インクルード モジュールと埋め込みモジュールの違いは何ですか?
こんにちは、理解できないルビーコードを見ました。Superman クラス内からflap_wings を呼び出すにはどうすればよいですか? クラス内からインスタンスメソッドを呼び出すことはできますか? モジュールを含めることとモジュールを埋め込むことの違いは何ですか? なぜ、いつそれを行う必要がありますか?