問題タブ [conceptual]

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

interpreter - インタープリターはどのようにスコープを切り替えますか?

私はインタプリタ開発に比較的慣れていないので、車輪を再発明する前にいくつかの基本的な概念を知りたかったので、これを求めています。

現在のスコープを構成する配列に格納されているすべての変数の値を考えました。関数に入ると、配列が交換され、元の配列が何らかのスタックに置かれます。関数を終了すると、「スコープ スタック」の最上位要素が取り出され、再度使用されます。

  • これは基本的に正しいですか?
  • 配列の交換 (大量のデータを移動することを意味します) はそれほど遅くないため、最新のインタープリターでは使用されませんか?
0 投票する
4 に答える
344 参照

java - Java フロー制御の問題

私は単純な 2D ゲーム エンジンをプログラミングしています。エンジンをどのように機能させるかを決めました。エンジンは、必要に応じてメインのゲーム ループがトリガーする「イベント」を含むオブジェクトで構成されます。

構造についてもう少し: すべてGameObjectにはupdateEventメソッドがあります。 objectList更新イベントを受け取るすべてのオブジェクトのリストです。このリストにあるオブジェクトだけが、ゲーム ループによって updateEvent メソッドが呼び出されます。

このメソッドを GameObject クラスに実装しようとしています (この仕様は、メソッドで達成したいものです) :

そのため、オブジェクトが更新イベント内で自身を削除しようとすると、制御がゲーム エンジンに戻されます。

これが私がこれまでに持っているものです。それは機能しますが、フロー制御に例外を使用することについて読めば読むほど気に入らなくなるので、代替手段があるかどうかを確認したいと思います。

メソッドの削除

p>

ゲームループ

p>

2 つの質問:

  1. 上記の remove メソッドの stop-right-away 部分を実装する唯一の方法は、カスタム例外をスローしてゲーム ループでキャッチすることであると想定するのは正しいですか? (フロー制御に例外を使用するのは goto のようなものですが、これは悪いことです。自分がやりたいことを行う別の方法が思い浮かびません!)

  2. リスト自体からの削除では、1 つのオブジェクトがリストのさらに下にあるオブジェクトを削除することができます。現在、コードを実行する前に削除済みフラグをチェックしており、各パスの最後にオブジェクトを削除して同時変更を回避しています。これを行うためのより良い、できればインスタント/非ポーリングの方法はありますか?

[編集] あなたの回答を読んだ後、メソッドの仕様を変更すると思います。インスタント削除の動作は、私が別のエンジンでの作業に慣れているものですが、その通りです。Java の動作に実際には適合しません。ちょっと違う考え方を頭に入れてみよう!

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

iphone - Bonjourとは何ですか?

私は今日の午後wwdcビデオを見ていました、そして私はBonjourという言葉を聞きました。

だから私はAppleのBonjourとは何か知りたいだけです。

これは、概念を明確にするためだけのものです。

ありがとう

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

c# - IFステートメントでvoid関数がチェックされたときに構文エラーが発生する理由

私が書くと出力はどうなりますか

C ++ではif(5)問題なく実行されますが、C#では同じように実行できません。

編集

この質問は、TurboCompilerを知らない人を対象としたものではありません。

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

database-design - 基本的なデータベース設計の質問-1つの属性3つのエンティティ

誰かが私が今までに本当に知っておくべきことを明確にできますか?

私が3つのエンティティ組織、ディレクター、および会社の秘書を持っていて、それぞれが属性のプライマリアドレスを持っている場合。

概念的なERDをモデル化する場合、各エンティティに個別に属性「プライマリアドレス」を設定する必要がありますか、それとも4番目のエンティティアドレスをモデル化してプライマリアドレスを追加し、それらすべてにPK> FKを設定する必要がありますか?

それ以来、このリンクを見つけました。これは、リレーショナルデータベースのアドレス情報をモデル化するための良い方法ですか?これは私が知る必要のあるすべてをほぼカバーしています。

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

c# - 使用するC#コレクションを選択するこの戦略には何が欠けていますか?

使用するC#コレクションの種類を選択するための私の戦略は次のとおりです。

  • コレクション内のアイテムの数が固定されている場合は、配列を使用します。例:

    string [] direction = new string [] {"north"、 "south"、 "east"、 "west"};

  • それ以外の場合は常に使用してくださいList<T>

  • もちろん、より専門的なコレクションが必要な場合を除きます。Stack<T>, Queue<T>, or Dictionary<TKey, TValue>

  • ただし、ArrayListはもう使用しないでください

あなたの経験に基づいて、この戦略に欠けているものは何ですか?

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

c - 特定の範囲を指定して、1 つの乱数、乱数のペア、または乱数のトリプレットを生成する ac 関数を記述します

3 つの異なるケースで乱数を生成する必要があります。私。サイコロ1個 ii.一対のサイコロ iii.3 サイコロ私の質問: 1. 3 つのケースすべてに対して乱数を生成するための適切なロジックを教えてください。2. 1 つではなく 2 つのサイコロの cses を考慮すると、ロジックは変わりますか? 3.乱数を生成する必要がある範囲は、ランダム関数のロジックにどの程度影響しますか?

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

variables - 単一関数内での変数名のリサイクル

for2つのループを含む関数がありcount、カウンターと呼ばれる変数を使用しています。最初のループは2番目のループが始まる前に完全に実行を終了するため、名前をリサイクルすることを選択しました。そのため、カウンターが互いに干渉する可能性はありません。G ++コンパイラは、次の警告を介してこれを例外としました。

可変リサイクルは、プロのソフトウェア開発では悪い習慣と見なされますか、それとも状況的な懸念ですか、そして私がここで見逃した他の影響は何ですか?

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

oop - 「リバースエンジニアリング」アプリアーキテクチャ

C#/。NET2.0で記述された古いアプリを継承しました。(un)幸いなことに、ドキュメントもコメントもありませんでした。したがって、新しい要件に基づいてアプリケーションに拡張機能を追加するときに、アプリが何を実行し、どのように実行するか、つまりアーキテクチャのメンタルモデルも構築しています。

アプリを「分解」して生のコードからより高いレベルに移行するために、どのようなツールが存在するのだろうかと思っていました。このアプリはOOではそれほど重くはありません。実際、使用されるオブジェクトの1つは「関数」と呼ばれます。それはほとんどの場合、単なる一連のメソッドであり、どこからともなく飛び出しているように見える多くのメソッドです。

生のコードを、アプリの機能と実行方法を示すある種の要件ドキュメントに変換したいと思います。それを行うための最良の方法は何ですか?私を助けることができるアプリはありますか?多分私が含めるべき/含まないべきもののテンプレート?たぶんあなたがお勧めする本/サイト?目標は、私とアプリを保守する将来の開発者にドキュメントを提供することです。

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

objective-c - オブジェクトでゲッター/セッターを理解できない

単純なデータ、たとえば NSInteger のセッター/ゲッターの概念を理解するのは簡単です。

私たちが言うなら: NSInteger a;

「a」のセッターは a の値を変更し、ゲッターはその値のみを取得 (返し) します。アトミックは、a が変更されているときに "a" を読み取ると常に整数値を返すことが保証されるため (ゲッターとセッターは同期されます)、アトミック/非アントミックの概念を理解するのは簡単です。

しかし、私が明確に理解していないのは、オブジェクトへのポインターであるプロパティ (NSData*、NSString* など) のセッターとゲッターです。たとえば、NSMutableData としましょう:

私たちが言うなら: NSMutableData *m_my_mutable;

オブジェクト MyObject に属するこのプロパティのセッター setMyMutable と getMyMutable があるとします。これを行う場合、ゲッターを呼び出します (データを追加する前にオブジェクトを取得するため):

[[MyObject getMyMutable] appendData....]

しかし appendingData もそれを変更するので、代わりにセッターアクションと見なされるべきではありませんか? または、セッターは値を初期化するという事実のみを参照します(たとえば、保持できます)。

コンセプトに欠けているものがあります。

ありがとうApple92