問題タブ [language-concepts]

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 投票する
4 に答える
180 参照

java - 再帰的プログラミング呼び出しと動的プログラミング呼び出し

Java 2 のコースを受講して勉強しようとしていますが、この概念がわかりません。

  • 再帰的プログラミング呼び出しと動的プログラミング呼び出しの違いは何ですか?

  • それぞれの例は何でしょう?

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

c# - myCustomDictionary.Values はどのタイプを返す必要がありますか?

あなたがオブジェクトを持っているならDictionary<k, v> myDictionary、それmyDictionary.Valuesはタイプになり、タイプDictionary<k, v>.ValueCollectionmyDictionary.KeysなりますDictionary<k, v>.KeyCollection

myDictionary.Valuesの型が のようなものではないIEnumerable<v>理由がわかりませIList<v>ん。

さて、それを念頭に置いて、カスタムの種類の辞書を作成するとします。Dictionary2<k1, k2, v>、または ValueCollection のカスタム実装を返すmyCustomDictionary.Values必要がありますか? IEnumerable<v>さらに重要なことは、なぜですか?

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

python - Pythonの抽象メソッドとミックスイン

ここで仕事をしている私の python コードでよく見かけるコード パターンを送信したいと思いますが、それに満足できず、より良い解決策が必要です。

今日の内容は次のとおりです。

トリックがわかりますか?継承のリストの最初の位置にミックスインを追加する必要がありますが、この解決策は好きではありません。2 番目の位置に追加すると、インタープリターは AbstractClass.method1 を使用するため、例外が発生します。

この些細な状況では、ミックスインを中間クラスに置き換えることは可能ですが、すでに基本クラスとの複雑な継承の場合、解決策は明らかではない可能性があります。

あなたにとって最高のデザインパターンは何ですか?

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

javascript - JavaScript プロトタイプの明確化

子関数があるとします:

親関数があります:

次に、Child のプロトタイプを Parent の新しいインスタンスに設定します。

混乱は、子の新しいインスタンスを作成するたびに発生します

親は再び作成されますか?

0 投票する
7 に答える
3867 参照

naming - エラーと警告を表す適切な一般用語は何ですか?

たとえば、価格設定操作中にクライアントに返されるエラーと警告の OO 階層を構築したいと思います。

私は名前にあまり熱心ではありませんPricingMessage。エラーと警告を含む概念は何ですか?

編集:明確にするために、エラーと警告の一般的な概念または名前を探しています(一般的な情報メッセージなどを除く)。たとえば、コンパイラはエラーと警告も報告します。これは何?

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

c++ - ポインターまたは参照型も調べる C++ dynamic_cast の設計上の考慮事項

動的キャストを行う場合:

dynamic_cast は、次の場合にのみ有効なポインターを返します。

  1. A はポリモーフィックです。それ以外の場合、コンパイルは失敗します。
  2. B は A と同等であるか、A から派生しています。B は継承階層で A と関係を持つ必要があります (戦略についてはよくわかりませんが)。それ以外の場合は nullptr を返します。これはコメントに従って更新されます。
  3. *x の RTTI は、それがクラス B のオブジェクトまたは B の派生クラスであることを示します。それ以外の場合は nullptr を返します。

条件 2 を除いて、条件 1 と条件 3 の両方が満たされる場合を考えています。これは、メモリ コピーまたは reinterpret_cast などによって可能になる可能性があります。以下のすべての議論は、このシナリオに基づいています。

ちょっとした例がここにあります: http://ideone.com/tBctgT

私はそれを言うことができます: そのような状況で C++ が dynamic_cast の成功を許可した場合、dynamic_cast によって返されるポインターを使用しても安全でしょうか? もしそうなら、なぜ C++ 標準は条件 2 の検証が必須であると判断するのですか?

さらに、条件 2 はコンパイル時に調べることができます。C++ 標準が、適切な操作と見なされない場合、コンパイル エラーを発生させる代わりに、実行時に nullptr を返すことを決定するのはなぜですか?

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

go - 「ドット括弧」構文の意味は何ですか?

mongodb にデータを格納するサンプル Go アプリケーションを研究しています。この行のコード ( https://github.com/zeebo/gostbook/blob/master/context.go#L36 ) は、ゴリラ セッションに保存されているユーザー ID にアクセスしているようです:

誰かがここで構文を説明してくれませんか? セッションから値を取得することは理解してsess.Values["user"]いますが、それに続く部分は何ですか? ドットの後の式が括弧で囲まれているのはなぜですか? これは関数呼び出しですか?