問題タブ [case-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 投票する
5 に答える
4001 参照

functional-programming - 単純な Lisp Case ステートメントの質問 - nil と比較する問題

一部のコードを読みやすくするために、case ステートメントを使用しようとしています。一連の if 文として動作するように見えますが、なぜか case 文は true でなくても常に nil との比較を受け入れます。この動作が発生する理由を誰かが明確にすることはできますか?

例:

上記の例では、'a が明らかに nil ではないにもかかわらず、最初のインスタンスは nil を返します。if ステートメントで同じことをしようとすると、期待どおりに動作します。

私が理解していないケースステートメントについていくつかの動作があると仮定しています。どんな助けでも大歓迎です。

編集:明確にするために、「aは評価されないことを知っています。この例をモックアップして、case ステートメントのターゲットが確実に nil でない状況を作成しました。

私は xlisp-plus を使用していますが、実際の clisp インストールを試して、動作が異なるかどうかを確認します。

編集(もう一度):CLISPをインストールすると、そこで正常に動作します。なぜ xlisp が異なるのかを調査するのに苦労する価値はありません。皆さん、健全性チェックをありがとう。

0 投票する
8 に答える
793 参照

c++ - 巨大なケースステートメントをスピードアップする方法は? C++

ファイルを実行して、30 ほどの異なるフラグメント タイプを処理しています。そのため、毎回、フラグメントを読み取り、そのタイプ (16 進数) を既知のフラグメントのタイプと比較します。これは速いですか、それとももっと速くできる別の方法はありますか?

ここに私が使用しているコードのサンプルがあります:

約 30 個のフラグメントを通過し、数千個のフラグメントがある場合、少しチャグすることがあります。このプロセスをスピードアップするにはどうすればよいですか?

ありがとうございました!

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

mysql - MySQL if then/ case ステートメント

そこの!mySQl Front 4.1 で mysql スクリプトを作成しています。
if then、case ステートメントに問題があります。

次のコードがあります:

フロントはそれを実行したくありません。なんで?誰かがここで何が悪いのか説明できますか?

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

mysql - JOINS を使用した SQL ビュー

私は3つのテーブルを持っています

ノード テーブル - Nodeid、ノード関係 ID(NodeRelID)

ノード関係テーブル - id、Nodeid、Node Link id

Eventstatus テーブル - ID、ノード ID、ノード ステータス。

各ノードの ID とそれに関連するノードのステータスを表示するビューを作成したいと考えています。私はここでそれをしました。

ここで、関係を持たないノードを取得し、関係ステータスの代わりに自動的に 0 を与えたいと思います。これを同じテーブルに保存したいので、ビューの case ステートメントを使用してこれを試みました。そのようです:

誰かが私を正しい方向に向けることができますか?

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

c# - 同一のケース条件

一部のVB.NETコードをC#に変換しています。これは、VB.NETコードに慣れていて、問題をより迅速に解決するのに役立つためです。ただし、VB.NETのエラーではないこのコードに遭遇しましたが、C#に変換するとコンパイラエラーが発生します。

VB.NETコード

C#変換されたコード

そして、エラーは次のとおりです。

Label'case "FSTF":'は、このswitchステートメントですでに発生しています。

ここでの解決策は何ですか— VB.NETコードでは、2番目のcaseステートメントは単なるダミーでした—または最初のcaseはダミーでしたか?

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

sql - SQL Server:NULLと比較すると、CASEステートメントが予期しない動作をします

与えられた:

次のSelectステートメント:

問題:

これが0を返すことを期待していますが、代わりに1を返します。

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

sql - 複数のフィールドに対する CASE ステートメントの結果

PostgreSQL 7.x を実行しています (アップグレード中です)

例:

処理されるデータが同じであるため、結果として 1 つの case ステートメントで 2 つのフィールドを指定する方法はありますか?ラベルが異なるだけです。

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

sql - 疑似 IF/ケース ヘルプ

PostgreSQL 7.x を実行しています (アップグレード中です)

問題:

データが返されない場合に設定する必要があるフィールドが 3 ~ 4 つあります。

このようなことを考えていました

どうすればこれを行うことができるかについて何か考えはありますか?

IF条件を考えてください

この場合、これらの他のフィールドはこれらの値を取得します。それ以外の場合は、返された値をそのままにします

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

sql - SORT のコストが原因でクエリが遅くなる

PostgreSQL 7.4 (はいアップグレード)

だから私のWHERE条件で私はこれを持っています

代替構文ですが、コストに変更はありません

文字列の開始によって結果を制限する費用対効果の高い方法を探しています。したがって、文字列が 01、123、5555、44444、または 99 で始まる場合は、それを結果セットに追加します。

何かご意見は?

注: FieldID にはインデックスが付けられます。Explain データを表示してクエリのボトルネックを確認します。上記のコードを追加すると、Sort のコストが大幅に上昇し、データ セット/結果の戻りが遅くなります。

Explain からの出力:

クエリが複雑であるため、さらに多くのコードがありますが、コードの一部を削除すると、並べ替えのコストが大幅に削減されます