問題タブ [switch-statement]

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

c++ - C++で定数をオンにすることは合法ですか?

私が導入したバグに気付いたところです。驚いたのは、それがコンパイルされたことです。定数をオンにすることは合法ですか?

Visual Studio 8 とComeauはどちらもそれを受け入れます (警告なし)。

0 投票する
16 に答える
9578 参照

c - C の switch ステートメントのオーバーヘッド

私はかなり有能な Java プログラマーであり、C を初めて使用します。4 つの操作モードを持つルーチンを最適化しようとしています。

画像内のすべてのピクセルをループし、渡された「モード」に応じて新しいピクセル値を計算します。

私の質問は、ネストされた 2 つの for ループ内の switch ステートメントのオーバーヘッドに関するものです。基本的な C ステートメント、数学、および論理演算の相対的な効率に関するドキュメントへのリンクに興味があります。

コードは次のようになります。

これが 5000 x 5000 ピクセルを超えるイメージの場合、多くのオーバーヘッドが発生すると予想されますか? いくつかのテストを試みましたが、システム (モバイル デバイス) がバックグラウンドで実行しているあらゆる種類のものが結果をゆがめる可能性があるため、私の結果はいたるところにあります。

もう 1 つのオプションは、各モードに個別のメソッドを用意し、それぞれに独自の 4 つのループを持たせることです。これにより明らかに冗長なコードが導入されますが、ここでは効率が重要です。

前もって感謝します!

ガブ

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

c# - C# での大きなスイッチのリファクタリングに関するアドバイス

ユーザーがオブジェクトをグリッドに配置してゲームのレベルを作成できるようにする C#/Winforms のアプリケーションがあります。タイル/ライト/ドア/エンティティなどを配置するためのツールがいくつかあります。現在、現在選択されているツールを格納するために列挙型を使用し、各ツール コードを実行するための switch ステートメントを使用しています。アプリケーションにツールを追加していると、コードが重複してスパゲッティのようになり始めています。

これは、私のエディター クラスのマウス ダウン機能のカットダウン バージョンです。

スイッチは他のいくつかの機能 (OnMouseMove、OnMouseUp) で使用されており、設計が悪いようです (いくつかの機能で大きなスイッチがコピーされています)。このようなものをよりクリーンで拡張可能な方法でリファクタリングするためのアドバイスはありますか? 私は現在、基本Toolクラスを持ち、各ツールが使用する関数 (OnMouseDown() など) をオーバーライドする独自のクラスを持つことを考えています。これは理にかなっていますか?

読んでくれてありがとう。

0 投票する
27 に答える
999095 参照

ruby - Rubyでswitchステートメントを書く方法

switchRubyでステートメントを書くにはどうすればよいですか?

0 投票する
13 に答える
28775 参照

c - return.. とデフォルトのケースでブレーク

私の OCD では、case ステートメントが実行されない場合でも、case ステートメントを記述するときに「ブレーク」を追加する必要があります。次のコード例を検討してください。

私の 2 つの質問は次のとおり
です。「デフォルト:」の場合。それは純粋にOCDですか、それともここで休憩する本当の理由はありますか?

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

java - 列挙型の Java switch ステートメントで、それぞれの値を修飾するとコンパイル エラーが発生するのはなぜですか?

IMyInterface.MyEnum を呼び出せる Enum 上に、Java の switch ステートメントがあります。

私の各 case ステートメントの形式は、IMyInterface.MyEnum.MyValue です (ただし、インポートした場合は IMyInterface を削除できます)。

ただし、コンパイラ (Java 6) は次のエラーをスローします。

私は明らかにそれを行うことができますが、私の人生では、このエラーの目的がわかりません。明らかに、コンパイラが実際の値を処理できる場合、定数の場合と同様に完全修飾名を処理できるはずです。実際、コンパイラが定数を完全修飾名に変換すると想定していました。

では、Java の専門家の皆さん、この背後にある理論的根拠は何ですか? ありがとうございました!

0 投票する
10 に答える
403 参照

php - consecutive if's in PHP

I'm doing some validation now in PHP, and I'm running allot of conditional statements, for example:

ect..

Is there a nice way to do this? Or do I just run ten If statements like the ones above? I can't use switch obviously, but I'm looking for that type of solution..

P.S... I'm using Zend Framework for validation