問題タブ [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.
python - 式で「または」を使用して None の値をキャッチする
コードレビューでこれに出くわしました:
私の最初の反応は「ああ、悪い!」でした。しかし、よく考えてみると…そうですか?
c++ - 誰かがこの C++ コンマ演算子の短絡の例を説明できますか?
誰かがこの C++ コンマ演算子の短絡の例を説明できますか?
2 番目のバージョンが短絡してfalseを返し(少なくとも MSVC++ では)、他の 2 つのバージョンはtrueを返さないのはなぜですか?
erlang - ガード テストで「andalso」よりも「and」を優先する場合
コンマ ‹,› がガード テストand
ではなくショートカットである理由に興味があります。andalso
私は自分自身を「C ネイティブ」と呼んでいるので、短絡ブール評価の欠点は見当たりません。
to_core
実際に生成されるコードを確認するために、フラグを使用していくつかのテスト コードをコンパイルしました。コンマを使用すると、左側の値と右側の値が評価され、両方が and されていることがわかります。andalso
ケースブロック内にケースブロックがあり、への呼び出しがありませんerlang:and/2
。
ベンチマーク テストは行いませんでしたが、andalso
バリアントの方が速いと断言できます。
c++ - ビット単位-または評価の順序を保証しますか?
私がこのコードを持っているとしましょう:
C ++は、func1()が最初に呼び出され、次にfunc2()、次にfunc3()が呼び出されることを保証しますか?
または、コンパイラーは、関数を任意の順序で呼び出すことができますか?
また、コンパイラは、必要に応じて、ここで短絡最適化を実装できますか?(たとえば、func1()が〜0を返した場合、コンパイラーは、戻り値がxに割り当てられた値に影響を与えない可能性があることを知っているため、func2()またはfunc3()をわざわざ呼び出さないことを決定できますか?)
python - Pythonの"ifvar and var2 == getSomeValue()"-最初のステートメントがfalseの場合、2番目のステートメントは評価されますか? '
私はこのようなコードを持っています:
これは単一の式である可能性があります。
...ただし、がTrueのgetSomeValue()
場合にのみ呼び出すことができます。var
したがって、を呼び出すとif var and var2 == getSomeValue()
、両方がインタプリタによって評価されるか、評価が次の場合に停止しますvar
かFalse
?Pythonのドキュメントでこの情報をどこで見つけることができますか?(何を検索すればいいのかわからなかった...:/)
ada - エイダ短絡制御フォーム
の意味は何ですか
それは...ですか
(y、xがFALSEの場合、zは評価されません)または
(xがFALSEの場合、yはスキップされますが、zが評価される可能性があります)。
oracle10g - Oracle (10g) の AND/OR 短絡回路を理解するのを手伝ってくれる人はいますか?
次のクエリを検討し、CALCULATE_INCENTIVE 関数に注目してください。
私は、Oracle が .NET が and/or ロジックで使用するのと同じ (または同様の) 短絡回路を使用しているという印象を受けました。たとえば、EMP.STATUS = 2 の場合、式全体がとにかく false を返すため、残りの式を評価する必要はありません。
私の場合、CALCULATE_INCENTIVE 関数は、最初の 3 つの WHERE 式が返す 9 つのレコードだけではなく、データベース内のすべての従業員に対して呼び出されています。短絡評価のためにグループ化したい特定の式を括弧で囲んでみましたが、わかりません。
前の式のいずれかが false を返した場合にCALCULATE_INCENTIVEを評価しないようにする方法はありますか?
python - Pythonで使用されるアンパサンドと垂直バーの文字はどこにありますか?
短絡評価について説明しているウィキペディアのページでは&
、|
Pythonで熱心な演算子としてリストされています。これはどういう意味で、いつその言語で使用されますか?
c++ - 「std::and」または「std::or」のようなものはありますか?
ブール値のコンテナ (例は ) が与えられた場合、すべての値が(「and」) であるか、少なくとも 1 つの値が(「or」) である場合に短絡評価std::vector<bool>
で返す標準関数はありますか?true
true
true
true
今朝、 www.cplusplus.com を調べましたが、それに近いものは見つかりませんでした。
c - 次の 2 つの場合にパフォーマンスの違いはありますか?
次の 2 つのケースの間にパフォーマンスの違いはありますか:
最初:
2番:
更新:テストを作成して各ケースのパフォーマンスを測定する方法、または各ケースで生成されたアセンブリを確認する方法を知っていますが、この質問に出くわしたのは私が初めてではないと確信しています。すでにテスト済みで、単純なはい/いいえの答えになる可能性があります。