問題タブ [short-circuiting]

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

sql - SQL WHERE 句の短絡は評価されますか?

SQL WHERE 句のブール式は短絡評価され ますか?

例えば:

@key IS NULLが に評価される場合true、評価@key IS NOT NULL AND @key = t.Keyされますか?

いいえの場合、なぜですか?

はいの場合、それは保証されていますか?ANSI SQL の一部ですか、それともデータベース固有ですか?

データベース固有の場合、SQLServer? オラクル?MySQL?

0 投票する
15 に答える
1852 参照

c# - 私はこれが好きではありません... これは言語をごまかしていますか?

私は次のようなものを数回見ました...そして私はそれが嫌いです。これは基本的に言語を「だます」ことですか?それとも..常に IsNullOrEmpty が最初に評価されるため、これを「OK」と見なしますか?

(文字列が関数から出たときに NULL であるべきかどうかについて議論することはできますが、それは実際の問題ではありません。)

編集: この言語の基本を思い出させてくれた皆さんに改めて感謝します。「なぜ」それが機能するかはわかっていましたが、コンセプトの名前を知らなかった/覚えていなかったなんて信じられません。

(誰かがバックグラウンドを必要とする場合に備えて..コードのさまざまな場所で、NULL文字列と.Length> x例外によって生成された例外のトラブルシューティング中にこれに遭遇しました。したがって、上記のコードを見たとき、他のすべてに加えて、私の欲求不満はそこから引き継がれました。)

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

java - Java 三項 (即時 if) 評価

これに答える仕様の関連部分が見つかりません。Java の条件演算子ステートメントでは、true と false の両方の引数が評価されますか?

したがって、次は NullPointerException をスローできますか

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

c++ - Accelerated C++ から以下を説明してください

Accelerated C++ からの次の抜粋が理解できません。

で始まる

|| だから || は左結合であり、||、==、および - の相対的な優先順位のため、

r == 0 || r == 行 - 1 || c == 0 || c == cols - 1 は、すべての部分式を括弧で囲んだ場合と同じことを意味します。

((r == 0 || r == (行 - 1)) || c == 0) || c == (列 - 1)

そして、

私はこれを理解していません。あなた自身の言葉で同じことを私にどのように伝えますか?

0 投票する
17 に答える
11696 参照

language-agnostic - すべてのプログラミング言語にブール短絡評価がありますか?

PHP コード内

最初のオペランドが に評価される場合、 は評価されfalseませb()ん。

同様に、

最初のオペランドが に評価される場合、 は評価されtrueませb()ん。

これは、Java、C# などのすべての言語に当てはまりますか?

使用したテストコードです。

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

iphone - "obj!=nilを使用する場合のiPhoneのEXC_BAD_ACCESS

Objective-Cには非常に単純なコード行があります。

ときどき、理由もなく、EXC-BAD-ACCESSを使用してこのコード行でゲームがクラッシュします。通常、何かが競技場から削除される頃のように思われるので、selectedEntityが割り当て解除されたと推測すると、この結果になります既存のエンティティを選択することは不可能であることに加えて(しかし、誰が知っているか、これは私のコードでは実際には当てはまらないかもしれません...)、アクセスする前に選択されたエンティティがあるかどうかを具体的にチェックしているという事実は、私がすべきはないことを意味しますここでは問題はありません。Objective-Cはブール型の短絡をサポートすることになっていますが、編集ではないようです。短絡は問題とは何の関係もないようです。

また、時々爆発していることを知っていたので、このコードブロックの周りに@ try / @ catchを配置しましたが、それは無視されているようです(EXC-BAD-ACCESSをキャッチできないと思います)。

だから基本的に私は誰かがこれを捕まえて捨てる方法を知っているのか(ゲームがクラッシュしない限りこのエラーを気にしないので)、なぜそれが起こるのか説明できるのだろうかと思っています。Objective-Cが「nil」値で奇妙なことをすることを知っているので、オブジェクトポインタでもnilでもない奇妙なスペースを指していると思います。

編集:明確にするために、私は以下のコードが間違っていることを知っています、それは私が私のプログラムで起こっていたと私が推測していたことです。私はそれが問題を引き起こすかどうか尋ねていました-それは確かにそうです。:-)

編集:消去される前にエンティティを選択できるフリンジケースがあるようです。したがって、コードの進行は次のようになります。

したがって、自動解放プールがまだ解放されていないため、オブジェクトはnilではありませんが、保持カウントは0であるため、とにかくアクセスすることはできません...またはそれらの線に沿った何か?

また、私のゲームはシングルスレッドなので、これはスレッドの問題ではありません。

編集:私は2つの方法で問題を修正しました。まず、そのフリンジケースではエンティティの選択を許可しませんでした。次に、[entities removeObjectAtIndex:i](削除されるエンティティを削除するコード)を呼び出す代わりに、次のように変更しました。

jibが提案したように、変数を解放すると同時に変数にnilを割り当てていることを確認してください。

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

matlab - MATLABの&と&&の違いは何ですか?

&MATLABのと&&論理演算子の違いは何ですか?

0 投票する
18 に答える
10685 参照

language-agnostic - 言語が短絡評価を使用しないのはなぜですか?

言語が短絡評価を使用しないのはなぜですか? 使わないメリットはありますか?

パフォーマンスの問題が発生する可能性があるようですが、本当ですか? なんで?


関連質問 :短絡評価を使用する利点

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

perl - Perl の ( or, and ) と ( ||, && ) 短絡演算子の違いは何ですか?

これらのサブルーチンのうち、他のサブルーチンと異なっているのはどれですか?

私は C と Perl 4 から Perl 5 に移行し、||より多くのスクリプトが使用されているのを見てor、その見た目が気に入るまで、常に使用していました。しかし、上記のクイズが示すように、不注意な人にとって落とし穴がないわけではありません。両方の構成を使用する人、または多くのor.

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

python - この振る舞いをどのように達成できますか?Pythonの「短い循環」テスト

私は次のコードを持っています:

次のことを知っておく必要があります。if条件がtrueと評価された場合、関数はリストの検索を停止し、Falseを返すことはありませんか?または、breakステートメントが必要ですか?

次のコードで問題が解決しない場合、その動作をシミュレートするために何を使用できますか?

ありがとう