問題タブ [short-circuit-evaluation]
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.
php - PHP での複数の関数のブレークアウト (短絡)
PHP で複数のネストされた関数を返したい。「break」の後に数字を追加することで、複数のループから抜け出すことができます。例えば。
一連の関数を呼び出している間にサーキット ブレークを行うことはできますか?
python - 短絡評価を防ぐには?
これは、Django プロジェクトに取り組んでいるときに発生した問題です。フォームバリデーションについてです。
Django では、送信されたフォームがある場合is_valid()
、対応するフォーム オブジェクトを呼び出して検証をトリガーし、ブール値を返すことができます。したがって、通常、ビュー関数内に次のようなコードがあります。
is_valid()
フォーム データを検証するだけでなく、後でユーザーに表示できるエラー メッセージをフォーム オブジェクトに追加します。
1 つのページで 2 つのフォームを一緒に使用し、両方のフォームに有効なデータが含まれている場合にのみデータを保存したいと考えています。つまりis_valid()
、コードを実行してデータを保存する前に、両方のフォームを呼び出す必要があります。最も明白な方法:
論理演算子の短絡評価のために機能しません。form1
が有効でない場合はform2
評価されず、エラー メッセージが表示されません。
これはほんの一例です。私の知る限り、他の言語 (つまり Smalltalk) のようにand
/に代わる貪欲な方法はありません。or
その問題がさまざまな状況で発生することは想像できます (Python だけでなく)。私が考えることができる解決策は、すべての種類の不器用です (ネストされたif
s、戻り値をローカル変数に割り当て、それらをif
ステートメントで使用する)。この種の問題を解決するためのpythonicな方法を知りたいです。
javascript - JS 短期評価は async/await で動作しますか?
このスニペットでは、getFirst()
真の値を返す場合getSecond()
は評価されないことはよく知られています。
ただし、非同期関数にも同じことが当てはまるかどうかは興味があります。
2 番目の promise を開始しますか、それとも最初の promise が最初に解決されるのを待ちますか?