私は、次の2つのif
文をよりよく整理したいと思います:これらの2つの連続したIF文をより良く整理するにはどうすればよいですか?
if(A || B){
do stuff...
}
if(A && ! B){
do other stuff...
}
は、より良い方法はありますか?
EDIT:第二文のB
前!
、申し訳ありません...
私は、次の2つのif
文をよりよく整理したいと思います:これらの2つの連続したIF文をより良く整理するにはどうすればよいですか?
if(A || B){
do stuff...
}
if(A && ! B){
do other stuff...
}
は、より良い方法はありますか?
EDIT:第二文のB
前!
、申し訳ありません...
if(A || B) {
do some stuff;
if(!B) {
do other stuff;
}
}
しかし、このメリットは使用方法によって異なりますが、このバージョンを理解することは難しいかもしれません。
誰かが最終的にそれを得る、私は利点を見ることができないと思った:) +1 –
@餃子、ええ、私も、ちょうど質問に答えた:D – unkulunkulu
よく今は利点は、コードのパフォーマンスは、 Aの評価だけでなく、コードは単純化され、任意の複雑なA式の2回目の型指定が回避されます。欠点は、追加の入れ子レベルが得られたことです。 – fstab
第2の条件は& & Bだった元の質問については、私の答えは次のとおりです。
何もない場合は、最初の条件が失敗した場合に不要な評価が行われないように、最初のブロックの内側に2番目のブロックをネストすることができます。さもなければ、私はこれを短くする良い方法は見当たりません。そしてネストは、最初のブロックのコードがAとBを更新しないと仮定します。
新しい質問では、私の答えは、最初のブロックに!Bを埋め込み、2番目のブロックを省略することです。これは新しい質問に与えられた別の答えと同じです。
OPが質問を変更したため、私の答えはもはや関連性がなくなりました。 – Patrick87
コメントを追加するのではなく、編集または削除することをお勧めします。 –
A && Bが真である場合、A || Bは真と評価されます。これはあなたが望む行動ですか? –
残念ながら私は忘れてしまった! 2番目のIF文でBの前に演算子を追加します。私は今質問を編集しました。 – fstab