問題タブ [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.
vb.net - VB.NET の And と AndAlso の違いは何ですか?
And
VB.NET では、との違いは何AndAlso
ですか? どちらを使用する必要がありますか?
javascript - ActionScript/JavaScript の短絡演算子はどこにありますか?
VB には演算子AndAlsoとOrElseがあり、短絡論理積を実行しますが、同等の演算子は JS / AS のどこにありますか?
vb6 - ショートサーキットが VB のデフォルトの動作ではないのはなぜですか?
VB には演算子AndAlsoとOrElseがあり、短絡論理積を実行します。
ショートサーキットはあらゆる場合に役立つため、これがAndおよびOr式のデフォルトの動作ではないのはなぜですか。
奇妙なことに、これは&&と||を使用するほとんどの言語とは対照的です。短絡を行います。
ruby-on-rails - 短絡評価を回避する方法
私は Ruby on Rails を使用しており、2 つの異なるモデルを検証したいと考えています。
ただし、"&&" 演算子は短絡評価 (つまり、"model1.valid?" が true の場合にのみ "model2.valid?" を評価する) を使用し、model1 が有効でない場合に model2.valids が実行されるのを防ぎます。
短絡評価を使用しない「&&」に相当するものはありますか? 2 つの式を評価する必要があります。
sql - COALESCE - 短絡することが保証されていますか?
this questionから、COALESCEを使用して複雑なロジック ツリーを単純化することに関する適切な回答です。短絡の問題を考えました。
たとえば、ほとんどの言語の関数では、引数は完全に評価されてから関数に渡されます。C:
COALESCE
これは、SQL Server の「機能」の制限ではないようです。
分母 = 0 の 2 番目のケースを評価している場合、次のようなエラーが表示されると予想されます。
オラクルに関連するいくつかの言及 を見つけました。そしてSQL Serverでのいくつかのテスト。ユーザー定義関数を含めると、短絡が壊れる可能性があるようです。
では、この動作は ANSI 標準で保証されているのでしょうか?
sql-server - MSSQL のスカラー UDF の NULL パラメーター
スカラー UDF のオプション "RETURNS NULL ON NULL INPUT" ( CREATE FUNCTIONを参照) は、パラメーターが null の場合、関数本体の実行を停止し、単に NULL を返します。
つまり、短絡します。
複数のパラメータを処理する方法を知っている人はいますか?
最初のパラメーターが少なくとも NULL の場合など、複数のパラメーターを使用して関数呼び出しを短絡すると便利です。
時間があれば、プロファイラーを使用して udf 呼び出しを追跡してみます。検索しましたが、何も見つかりません。おそらく、正しい検索用語を使用していない可能性があります。
それまでの間、誰かアイデアや経験をお持ちですか?
他の RDBMS ワールドからの回答も歓迎します。これは ANSI 設定であり、検索で DB2 と MySQL の結果が表示されました。
コメントに基づいて編集: 非 CLR 関数のみ
乾杯S
編集: プロファイラーを実行する必要はありません。どっ!これは動作を示しています。
vb.net - VB.NET に条件付き三項演算子はありますか?
Perl (および他の言語) では、条件付き三項演算子は次のように表現できます。
VB.NET に同様の演算子はありますか?
c# - if()内のメソッドの呼び出し-C#
成功に応じてブール値を返すメソッドがいくつかありますが、IF()内でこれらのメソッドを呼び出すことに何か問題がありますか?
Method1()がFALSEを返した場合、Method2()を起動する必要はありません。
上記のコードに問題があることを知らせてください。
ありがとうございました。
編集:コードに問題はなかったので、私は最も有益な答えを受け入れます...「初心者&&&」の問題を解決するためにコメントを追加しました
c++ - 短絡論理演算子は義務付けられていますか? そして評価順?
ANSI 標準は、C または C++ のいずれかで、論理演算子を短絡することを義務付けていますか?
K&R の本で、これらの操作がショート サーキットされていることにコードが依存するべきではないと書かれていることを思い出して、私は混乱しています。論理演算が常に短絡されていると言われている標準のどこを誰かが指摘できますか? 私は主に C++ に興味があります。C の答えも素晴らしいでしょう。
また、評価順序が厳密に定義されていないことを読んだことを覚えています (どこを思い出せないか)。そのため、式内の関数が特定の順序で実行されることをコードに依存させたり、想定したりしないでください。ステートメントの終わりまでに、参照されているすべての関数が呼び出されますが、コンパイラは最も効率的な順序を自由に選択できます。
標準は、この式の評価順序を示していますか?
sql - SQL WHERE 句の短絡は評価されますか?
SQL WHERE 句のブール式は短絡評価され ますか?
例えば:
@key IS NULL
が に評価される場合true
、評価@key IS NOT NULL AND @key = t.Key
されますか?
いいえの場合、なぜですか?
はいの場合、それは保証されていますか?ANSI SQL の一部ですか、それともデータベース固有ですか?
データベース固有の場合、SQLServer? オラクル?MySQL?