問題タブ [name-conflict]
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.
pascal - パスカルがメソッドのパラメーターとクラスのデータメンバーに同じ識別子名を禁止するのはなぜですか?
コンパイラエラーをトリガーします。
self
明確にするために、またはthis
ポインタ/参照で十分だと思います。それで、そうすることの利点は何ですか?
編集:もう1つの質問ですが、このポリシーを展開する他の言語を教えていただけますか?
java - メソッドが文字通り呼び出されたときにJavaがスレッドコンテキストクラスローダーを使用できないのはなぜですか?
次のテストケースは緑色なので、それ自体は問題なく動作するカスタムクラスローダー「JarClassLoader」を作成しました。
ただし、次のテスト ケースは機能しません。
凝視された行に注目してください。文字通りメソッドを呼び出すときに、スレッド コンテキスト クラスローダーを使用したかったのです。
私は何十もの Web ページやドキュメントを読みましたが、太字の行が機能するかどうかを確実に教えてくれるものはありません。どこが間違っていたのか理解できません。
文字通り呼び出されたメソッドは、クラスローダーを使用して対応するクラスをロードできますか? そうでない場合、なぜできないのですか?ベンダーが提供するjarでの呼び出しは文字通り、リフレクションなどを使用していないため、機能する必要があり、ベンダーjarでの名前の衝突を避けるために、異なるスレッドに異なるクラスローダーを割り当てる必要があります。
誰でも私を助けることができますか?どうもありがとう!
python - setuptoolsでいくつかのPythonサブプロジェクトを管理する方法は?
同じ基本パッケージを使用して、サブプロジェクトを処理するための正しい/最も簡単な/最もpythonicな方法について疑問に思っています。現在、次のようなファイル構造があります。
名前空間company_nameをすべてのプロジェクトに共通に保ちたいのですが(おそらくこれ自体は非pythonicですか?)、proj1とproj2が開発モードでインストールされると、最初にインストールされたものが壊れます。import company_name...
どのcompany_nameパッケージを調べるか混乱しているようで、最初/最後/ランダムなパッケージを取得します。
これは通常、より大きなPythonプロジェクトでどのように処理されますか?ある種のメガエッグを構築するトランクのsetup.pyでこれを解決することは可能ですか?グーグルやスタックで関連情報を見つけられなかったので、リンクだけでもどんな情報でも大歓迎です!
編集:ルートフォルダにsetup.pyを追加してみました
ファイルに適切なものpkg_resources.declare_namespace(__name__)
がありますが、次のようになります 。__init_.py
./setup.py bdist_egg
company_nameセットアップコマンドのエラー:ディストリビューションに名前空間パッケージ'company_name'のモジュールまたはパッケージが含まれていません
c++ - C++ 名前空間とグローバル関数の間の名前の衝突を解決するには?
どこかに名前空間を定義してグローバル スコープでアクセスできるようにすると、標準のヘッダーlog
と衝突します。実際、ほとんどのコンパイラ (SunCC、MSVC、GCC のほとんどのバージョン) はこれに対応しているようですが、GCC 4.1.2 はそうではありません。double log(double)
cmath
残念ながら、using
名前空間識別子の宣言は合法ではないため、あいまいさを解決する方法はないようです。log::Log
が含まれていても、グローバル名前空間に書き込む方法を知ってcmath
いますか?
ありがとう。
編集:これについてC++03標準が何を言っているか知っている人はいますか? log
スコープ演算子は、以下のコード例での使用を十分に明確にしていると思います。
php - Doctrine 2モデル:「-」を含むテーブル名をどのように設定しますか?
Doctrine 2 Modelのテーブル行変数にどのように名前を付ける必要がありますか(たとえばurl-name
、テーブル行名)、それを試してみました:
ただし、$ urlName行はフェッチされません(この行の結果は空ですが、他の行/残りは正しくフェッチされます)。
plugins - appとlibの同じ名前のクラスは、Makefileからcmakeに変換した*後に*問題を引き起こします
コードに最小限の変更を加えて、プログラムとそのプラグインをカスタムMakefileからCMakeに変換しようとしています。
プラグインとアプリの両方がいくつかのコードを共有しています。#ifdef ... #else ... #endifブロックは違いがある場合に使用され、コードは正しい定義でコンパイルされていると確信しています。共有コードには、ToolImageというクラスが含まれています。コードがアプリ用にコンパイルされる場合、ToolImageコンストラクターはプラグイン用にコンパイルされる場合とは異なるリソースパスを使用します。
プログラムとそのプラグインがカスタムMakefileでコンパイルされると、すべてが期待どおりに機能します。私が作成した一連のCMakeLists.txtファイルを使用して両方をCMakeでコンパイルすると、問題が発生します。プラグインがツールバーのビットマップを読み込めないということです。
ToolImageクラスまで問題を追跡しました。gdbで指定された行番号は、プラグインが間違ったコンストラクターを使用していることを示しています。straceは同じことを教えてくれます(プラグインはプラグインのリソースディレクトリではなく、アプリのリソースディレクトリでビットマップを探しています)。定義が台無しになっていないことを確認するために、ツール用にのみコンパイルする必要がある#ifdefの部分の中に#errorをToolImage.cppに配置しましたが、プラグインはエラーなしでコンパイルされました。これは、プラグインが正しいコードでコンパイルされていることを示しています。間違ったパスを使用しているため、プログラムにコンパイルされたクラスとコンストラクターを独自のパスではなく使用していると思います。
プラグインがアプリ内のクラスではなく独自のToolImageクラスを使用するようにするにはどうすればよいですか?!私はプロジェクトを所有しておらず、異なるビルドシステムでのビルドをサポートするためだけに大規模な変更を加えたくありません。
プリコンパイラを使用してクラスの2つのバージョンを作成することは、私には悪い選択のように思えます。コードに変更を加える必要がある場合、回避策の提案はありますか?
android - ライブラリ名の衝突を回避するためのカスタムビルドスクリプト?
複数のプロジェクト(メインまたはライブラリ)が同じリソースを定義している場合にAndroidライブラリを使用すると、優先度の高いプロジェクトのコピーが使用され、前のプロジェクトが置き換えられます。
これは、競合を避けるためにすべてのリソース名にプレフィックスを付ける必要があるため、再利用可能なライブラリを作成するときに問題になります。このトピックの詳細については、 AndroidParcelProjectを参照してください。
ここで私がやりたいのは、コンパイルの前に、すべてのライブラリのすべてのリソースの名前にパッケージ名のプレフィックスを付けるスクリプトです。このために、生成されたantビルドスクリプトを使用して、それにカスタムステップを追加するつもりです。
それが可能かどうか知っていますか?この問題を解決するためのより良い解決策がありますか?
javascript - JavaScriptを使用してディレクトリが存在するかどうかを確認します
javascriptまたはjqueryを使用して、ディレクトリまたはフォルダが存在するかどうかを確認する方法は?
ruby-on-rails - `cache_classes`を`false`に設定すると、バグが修正されます。次はどうする?
Railsアプリにマウント可能なエンジンを追加しています。これは、フォーラムのような機能を提供します(つまり、質問、回答、コメントなどを追加します)。開発ではすべてが正常に機能します。ただし、ステージング/本番環境では、回答を作成しようとするとエラーが発生します。具体的には、CanCanパーミッションエラーです(これは赤いニシンかもしれませんが)。しかし、tiは名前空間または名前の衝突に関連しているように感じますか?
とにかくconfig.cache_classes = false
、環境設定ファイルに設定すると、問題は解決します。しかし、それは本当に物事を遅くするので、それは受け入れられる解決策ではありません。
ここからどこへ行くの?どのクラスをリロードする必要があるかをどのように判断できますか?この問題に対処するための従来の方法は何ですか?
Rails3.1を使用しています。
java - jarファイルでの名前の競合
A.jarとB.jarの2つのjarを持つディレクトリ/pluginがあります。どちらにも同じ名前のファイルconfig.xmlがあります。
ただし、問題は、新しい反復後に新しいconfig.xmlファイルをロードするのではなく、毎回最初のconfig.xmlをロードすることです。この対立を解決する方法は?