問題タブ [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.
c++ - テンプレートのインスタンス化中に短絡していますか?
このコード スニペットを検討してください。
other<true>
インスタンス化がまったく不要と思われる上記のような状況で、コンパイラはインスタンス化しますか? または、私が構文 を書いたからといって、 ?other<b>::value
の値の計算にまったく貢献しないという事実に関係なく、コンパイラはそれをインスタンス化する必要があります。test<true>::value
a) 標準で何が要求されているか、b)さまざまなコンパイラで実際に実装されているものは何ですか? 規格の関連セクションを歓迎します。
c++ - 整数比較演算子は C++ で短絡していますか?
タイトルの状態のように、整数 (または float などの任意の数値データ型) 比較演算子 (==、!=、>、>=、<、<=) は C++ で短絡されていますか?
c# - .NET で安全な && 短絡に依存していますか?
myObj が null であると仮定します。これを書いても安全ですか?
2 番目の部分が実行される前に && が false と評価されるため、一部の言語では 2 番目の式が実行されないことがわかっています。
javascript - JavaScript; parsing an IF statement with OR clauses
My question is quite simple, if I declare an IF statement with a series of OR clauses will JavaScript read all of the ORs or stop at the first one that is satisfied?
Thanks in advance.
objective-c - Objective-C は nil オブジェクトへのメッセージに短絡評価を使用しますか?
通常の短絡評価の質問に続いて、短絡評価は nil オブジェクトに対して構築および送信されたパラメーターに対して機能しますか? 例:
その遅い関数が呼び出されるのでしょうか、それともパラメーターを処理せずに addObject 呼び出し全体が最適化されるのでしょうか?
javascript - &&の短絡をifステートメントとして使用しますか?
jQuery.form.js
私はソースコードでこの行を見ました:
私の最初の考えはwtfでしたか?
私の次の考えは、それが醜いのかエレガントなのか判断できないということでした。
私は決してJavascriptの第一人者ではないので、私の質問は2つあります。まず、正しく理解していることを確認したいと思います。上記の行は次と同等ですか?
そして第二に、これはJavascriptで一般的/受け入れられている慣行ですか?一方では簡潔ですが、他方では、これまでに見たことがない場合は少しわかりにくい場合があります。
ruby - Ruby 1.9.2 Object.respond_to? :hello && Object.hello でエラーが発生するのはなぜですか?
今日、コードをステップ実行しているときに、予期しないことに気付きました。この文:
もし Object.respond_to? :こんにちは && Object.hello #stuff
未定義のメソッド エラーを返します。しかし、なぜ?明らかに、hello は Object の有効なメソッドではありませんが、短絡評価を考えると、Object.respond_to のたびに Object.hello を無視するべきではありませんか? :こんにちは偽ですか?
UserSession クラスが永続化を定義する必要がある理由を正確に理解しようとして、Authlogic で遊んでいるときにこれに気付きました。Rails 3で。
ありがとう
python - Pythonラムダ内で条件付き実行を表現するには?
私が見つけたもの:
Dive in to Python では、and
and演算子の特異な性質とor
、ブール演算子の短絡評価を使用して、C の三項演算子と非常によく似た機能のand-or トリックを介して条件をより簡潔に表現する方法について読みました。
子:
パイソン:
Python ではラムダ関数がワンライナーに制限されているため、これは便利なようですが、論理構文を使用して制御フローを表現します。
Python 2.5 以降、inline-if
が and-or トリックのより読みやすい構文として助けになったようです。
したがって、これは読みにくいand-or-constructのpythonicの代替品であると思います。複数の条件をネストしたい場合でも、非常に包括的に見えます。
しかし、不確実性の世界では、 abc にアクセスするために次のようなコードを書いていることがよくあります。
したがって、inline-ifの助けを借りて、おそらくいくつかのandsとorsを取り除くことができ、非常に読みやすいコードが得られます。
私はまた、このレシピで条件付きのやや難解なアプローチを発見しました
ただし、これはショートサーキットではなく、条件の結果がブール値の 0 または 1 を返さない場合、あらゆる種類のエラーが発生します。
知りたいこと:
今、インラインを使用することが望ましい/よりpythonicであると考えられるかどうか疑問に思います-if
下位互換性が問題にならない場合、またはすべてが好みの問題であり、短絡の世界でどれだけ家にいると感じるか評価?
アップデート
inline-if は and-or-trick のシンタックス シュガー以上のものであることに気付きました。これa
は、ブール値のコンテキストで が false の場合に失敗しないためです。したがって、おそらくより失敗しないでしょう。
c++ - C ++は&&をどのように処理しますか?(短絡評価)
(bool1 && bool2)に遭遇したとき、c ++はbool1がfalseであることが判明した場合、bool2をチェックしようとしますか、それともPHPのように無視しますか?
質問が基本的すぎる場合は申し訳ありませんが、Schildtでもインターネットでもそのことについての言及は本当に見つかりませんでした。
c# - 短絡によって、論理積(&&)の到達不能な分岐に関連するMissingMethodExceptionが防止されないのはなぜですか?
Windows Mobileユニットにカメラがあり、有効になっているかどうかを確認しているときに、理解できない問題が発生しました。
コードは次のようになります。
私がそれを呼び出すCameraPresent2()
と、falseを返します(カメラがありません)。しかし、電話をかけるとCameraPresent1()
、「メソッドが見つかりませんでした:get_CameraEnabledMicrosoft.WindowsMobile.Status.SystemState」というコメント付きのMissingMethodExceptionが表示されます。
CameraPresent1
2番目の用語は両方とも(言語レベルで)プロパティであるという理由だけで評価されますか?
行動の違いを説明するものは他にありますか?