問題タブ [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.
c# - C#のスイッチで「is」キーワードを使用する
現在、このコードにいくつかの新しい拡張クラスを追加しています。
is
switch ステートメントでキーワード機能を使用する方法があるかどうかに興味がありましたか?
php - 同じことをする複数のケースを持つことはできますか?
最初のものは間違いなく機能するものですが、次のうちどれが効率的な方法ですか?
1、2、3の印刷は同じなので、これでいいでしょうか?
また
python - 辞書または If ステートメント、Jython
現在、dom4j を使用して HTML から特定の情報を取得するスクリプトを作成しています。
Python/Jython にはネイティブなswitchステートメントがないため、以下のように、適切なメソッドを呼び出す一連のifステートメントを使用することにしました。
HTMLから抽出したい情報に応じてさらに追加し、このサイトの他の場所で見つけた辞書アプローチを採用することを考えました。以下の例:
スクリプトを実行するたびにディクショナリが作成されることはわかっていますが、同時にifステートメントを使用すると、スクリプトは正しいステートメントに到達するまですべてのステートメントをチェックする必要があります。私が本当に疑問に思っているのは、どちらがパフォーマンスが優れているか、または一般的に使用するのに適しているかということです。
更新: @Brian - 素晴らしい返信をありがとう。抽出メソッドのいずれかが複数のオブジェクトを必要とする場合、質問があります。
これを実装するには、 handleメソッドに適切な変更をどのように加えますか? あなたが私が何を意味するか知っていることを願っています:)
乾杯
java - switch ステートメントのオプションとしての配列
大学時代に「二分探索」や「二分スイッチ」でスイッチを使っていたのを覚えています。みたいな感じで、今日Google fooが壊れました。とにかく、次のようになります: 可能なオプション (通常は文字列) の配列を定義すると、いくつかの魔法が起こり、配列内のそれらのオプションがスイッチのケースになります。これが機能するには、アルファベット順に並べる必要があったことを覚えています。魔法を覚えるのを手伝ってくれませんか?私が見るべきものの名前でさえ素晴らしいでしょう。
c# - Is there a better alternative than this to 'switch on type'?
Seeing as C# can't switch
on a Type (which I gather wasn't added as a special case because is
relationships mean that more than one distinct case
might apply), is there a better way to simulate switching on type other than this?
language-agnostic - スイッチ(ケース)はいつも間違っていますか?
戦略や同様のパターンよりも、スイッチ(ケース)が(単純さを除いて)良い設計選択である場合はありますか...
java - 文字列でswitchステートメントを使用できないのはなぜですか?
この機能は、後のJavaバージョンに組み込まれる予定ですか?
switch
Javaのステートメントが機能する技術的な方法のように、なぜ私がこれを実行できないのか誰かが説明できますか?
c++ - switch ステートメントで定数配列の要素をケースとして使用する
一連のキー押下を一連のコマンドにマップしようとしています。複数の場所からコマンドを処理するため、キーとコマンドの間に抽象化レイヤーを設定して、基になるキー マッピングを変更した場合にコードをあまり変更する必要がないようにしたいと考えています。私の現在の試みは次のようになります。
これをコンパイルしようとすると (gcc 4.3.2)、次のエラー メッセージが表示されます。
エラー: 'LogicalMappings' は定数式に表示できません
コンパイラがこれに問題を抱えている理由がわかりません。case ステートメントで変数を使用できない理由は理解できますが、定数はコンパイル時に評価できるため、定数を使用できるという印象を受けました。定数配列は switch ステートメントでは機能しませんか? もしそうなら、配列を次のようなものに置き換えることができると思います:
しかし、それははるかにエレガントではないようです。ここで定数配列を使用できない理由を誰か知っていますか?
編集:「整数定数式には、リテラル (2.13)、列挙子、const 変数、または定数式で初期化された整数型または列挙型の静的データ メンバーのみを含めることができる (8.5)」と主張する C++ 標準のビットを見てきました。 ...」。定数配列が「定数式で初期化された列挙型」としてカウントされない理由はまだわかりません。私の質問に対する答えが「その通りだから」というだけかもしれませんが、私はそれを回避する必要があります。しかし、そうであれば、コンパイラはコンパイル時にこれらの値を実際に決定できるため、ちょっとがっかりです。
vba - SSRSでの遅延評価
SSRS 2005を使用してレポートを作成していますが、レポートの列の1つは単純な平均計算です。ゼロで除算したくないので、テキストボックスの値として次のように入力します。
=Switch(Fields!Count.Value=0,0,Fields!Count.Value>0,Fields!Sum.Value/Fields!Count.Value)
これでも2番目の式が評価されます。
そしてそうします:
=IIF(Fields!Count.Value=0,0,Fields!Sum.Value/Fields!Count.Value)
レポートにエラーを表示したくありません。どうすればこの問題を克服できますか?