問題タブ [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.
perl - Perl で純粋な OO を使用する場合、Exporter は必要ですか?
ドキュメント (Exporter および perlmodlib) には次のように書かれています。
原則として、モジュールがオブジェクト指向になろうとしている場合は、何もエクスポートしません。
しかし、perlmodlib には次のようにも書かれています。
標準のバンドルされたモジュールはすべて、Exporter モジュールを使用するため、名前空間の汚染に関して明確に定義された方法で動作することが期待されます。
OO を行って何もエクスポートしない場合、Exporter は本当に必要なのでしょうか? そうでない場合、それは標準モジュールのどれもこの意味で厳密に OO ではないということですか、それともEXPORT_OK
、誰かがあなたのモジュールから継承したい場合にそれを行う必要があるため、いくつかのことを意味するのでしょうか? (それは本当ですか?)または、できるようにするためだけにエクスポーターが必要use MyModule; ... = new MyModule
ですか?
python - Python インクルード、モジュール スコープの問題
私は最初の重要な Python プロジェクトに取り組んでおり、スコープの問題とインクルード ファイルでのコードの実行に問題があります。以前は、私の経験は PHP でした。
私がやりたいことは、多数の構成変数を設定する 1 つのファイルを作成し、それをコード全体で使用することです。また、特定の関数とクラスをグローバルに利用できるようにしたいと考えています。たとえば、メイン ファイルには他の 1 つのファイルが含まれ、そのファイルは一般的に使用される一連の関数 (それぞれが独自のファイル内) と構成ファイルをロードします。これらのロードされたファイル内で、関数と構成変数にもアクセスできるようにしたいと考えています。私がやりたくないのは、残りのすべてを含めるために、ルーチン全体を各 (含まれる) ファイルの先頭に置かなければならないことです。また、これらのインクルード ファイルはさまざまなサブディレクトリにあるため、インポートが非常に困難になっています (特に、すべてのファイルを再インポートする必要がある場合)。
とにかく、私が望むものを達成するためのコードを構築するための最良の方法について、一般的なアドバイスを探しています。
ありがとう!
perl - 「local our」は mod_perl2 の下のオブジェクト モジュールで使用するものですか、それともスクリプトでのみ使用するものですか?
スクリプトを mp2 向けに調整し、互換性ラッパーなどの必要性を回避するには、「my」ではなく「local our」を使用して変数を宣言する必要があると言われています。モジュールではどうですか?
そうですか?または、モジュールの残りの部分が「use strict」の下で $self に到達できるように、「my」にする必要がありますか?
java - 別の JAR に依存する JAR を作成する方法は?
モジュラー アプリケーションを実行しようとしていますが、2 つのモジュールがあり、一方が他方に依存しているため、問題が発生しています。
例: モジュール 1 には、モジュール 2 からクラスをインポートするクラスがあります。
モジュール 1 の Manifest.txt に次の行を追加しました。
...しかし、モジュール1で必要なモジュール2からのクラスのインポートを解決できないため、jarを作成するとエラーが発生します。エラーにもかかわらず、jarは作成されています。プロジェクトをデプロイした後も、クラスがインポートを解決できないという同じエラーが引き続き表示されます。これを機能させる方法については誰にもわかりません。
perl - CPAN モジュールをローカル ディレクトリにインストールするにはどうすればよいですか?
/usr/lib
ホストされた Linux マシンを使用しているため、ディレクトリに書き込む権限がありません。
通常の方法で CPAN モジュールをインストールしようとすると、次のようになります。
そのモジュールはblib/lib/
フォルダーに抽出されます。私は保持use
blib/lib/ModuleName
しましたが、それでもコンパイラはモジュールが見つからないと言っています。.pm ファイルをローカル ディレクトリにコピーして保持しようとしました
require ModuleName
が、それでもエラーが発生します。
モジュールを他のディレクトリにインストールして使用するにはどうすればよいですか?
perl - Perl モジュールはどのように作成しますか?
Perl のモジュールはどのように作成しますか? Python では、以下を使用できます。
python - 現在のパッケージ内のすべてのモジュールのリストを取得する
私がやりたいことは次のとおりです。tests.ui、tests.text、tests.fileioなどのパッケージに編成されたテストスイートを構築したいです。これらのパッケージの各__
init __
.pyで、そのパッケージ内のすべてのモジュールのすべてのテストの。もちろん、すべてのテストを取得するには unittest.TestLoader を使用できますが、各モジュールを個別に追加する必要があるようです。したがって、test.ui にエディター_
ウィンドウ_
test.py とプレビュー_
ウィンドウ_
test.py があるとすると、__
init __
.py でこれら 2 つのファイルをインポートし、2 つのモジュール オブジェクトのリストを取得する必要があります。アイデアは、テスト スイートに何かを含めることを忘れないように、テスト スイートの作成を自動化したいということです。
これを行う最善の方法は何ですか?簡単にできるように思えますが、何も見つかりません。
私はPython 2.5 btwを使用しています。
python - python MySQL モジュール クラス ファイル名
ディレクトリ名、ファイル名、およびクラス名がどのように連携するのか混乱しています。
これは私が現時点で持っているものです
内部には、データベース モデル (MVC) として機能するclient.py
という単一のクラスがあります。client
私の他のファイルと同じです: hasstaff.py
というクラスstaff
があります。order.py
order
次に、app.py
私は:
そして、私は混乱します。理想的な世界では、これが私がやりたいことです:
データベース モデル クラスは、それぞれのディレクトリ内の別のファイルに保管してください。
次のように使用します。
これを行う唯一の方法は、すべてのクラスを という単一のファイルに入れ、model.py
これをルートに保存することです。
ここで非常に基本的なものが欠けていると確信しています。
visual-c++ - LNK4006 を取得せずに、Visual C++ の依存関係を持つライブラリをリンクする
私は静的にコンパイルされた一連のライブラリを持っており、ライブラリ間にかなり深い依存関係があります。たとえば、実行可能ファイル X はライブラリ A と B を使用し、A はライブラリ C を使用し、B はライブラリ C と D を使用します。
X を A および B にリンクするときに、C および D もライブラリのリストに追加されていない場合にエラーが発生するのは望ましくありません。A および B がこれらのライブラリを内部で使用するという事実は、X が必要としない実装の詳細です。について知ること。また、依存関係ツリーのどこかに新しい依存関係が追加されると、A または B を使用するプログラムのプロジェクト ファイルを再構成する必要があります。深い依存関係ツリーの場合、必要なライブラリのリストが非常に長くなり、保守が困難になる可能性があります。
そのため、A プロジェクトのライブラリアン セクションの「追加の依存関係」設定を使用して、C.lib を追加しています。B のプロジェクトの同じセクションに、C.lib と D.lib を追加します。これにより、ライブラリアンは C.lib を A.lib にバンドルし、C.lib と D.lib を B.lib にバンドルします。
しかし、X をリンクすると、A.lib と B.lib の両方に C.lib の独自のコピーが含まれます。これは、次の行に沿って大量の警告につながります
A.lib(c.obj) : 警告 LNK4006 "symbol" (_symbol) は既に B.lib(c.obj) で定義されています。2 番目の定義は無視されました。
警告を受けずにこれを達成するにはどうすればよいですか? 単純に警告を無効にする方法はありますか、それとももっと良い方法がありますか?
編集:より良い代替手段がないため、単に警告を無効にすることを示唆する複数の回答を見てきました。まあ、これは問題の一部です:私はそれを無効にする方法さえ知りません!
perl - Perl と共に配布されるモジュールは何ですか?
Perl と共に配布されているモジュールを知るにはどうすればよいですか?
私の最初の推測では、ここにリストされているコア モジュールは常に含まれていると思いますが、これが明確に述べられていることはわかりません。ただし、このセット以外のモジュール (LWP など) を、Mac OS X および Linux にインストールすることなく使用しました。
だから私の質問を少し洗練するために:
- すべての Perl インストールで配布されるモジュールは何ですか?
そして:どのモジュールが配布されているかを知るにはどうすればよいですか:
Linux (特に Debian/Ubuntu)?
マックOSX?
ソラリス?
いずれの場合も、最新バージョンのオペレーティング システムに標準で付属しているバージョンの Perl を使用しています。
ティア。
更新:質問の理由は、別の Linux および Solaris に展開するために Mac OS X および Linux で開発を行っており、これらのシステムの一部でルートを持っておらず、Mac OS XI の場合はルートを持っていないためです。コンパイラのAFAIKさえあります。したがって、さらにインストールすることなく、4 つの展開すべてで使用できるモジュールを知りたいのです。