追記:論理積と論理和の優先順位で間違いがあったため修正しました。
まず最初の条件をif分を一回終わらせて入れ子にするか、falseならreturn させるといい。
入れ子になってもとにかく自分が分かるようにするといいです。
一行で書くのはそのあとではどうだろう
if(param == 0 && test(param2)) { if(!param3) { something todo } } また if(!(param == 0 && test(param2))){ return false; } if(test(param2) || !param3) { 実行分 }
あと、一つの条件式で書きたいなら、括弧を使ったり、改行したりして、式の流れを細かくすると分かりやすくなる。
2:paramが0
3:かつ
なのに param==0 && 判定(param2) || !param3 だと
param==0 && 判定(param2)
と
!param3
だけど、日本語を言葉にすると「paramが0かつ判定関数でparam2の条件を返して、trueまたはparam3がfalseのときがtrueだから」
だから、論理演算子が複数になるときは、日本語でかつ、または使うと逆に混乱するから、
trueになる一つ目の条件の時は「○○」またはといったように書くと、
それ以外には既に上げていた色んな増田の方のやり方もそうだし、
is_children = age < 20 has_game = check_game(param2) if(is_children &amp;&amp; has_game) { print ゲームをもったこども }
いかがもなにも、あなたが他人に教えるのが下手で、自分ができることをひけらかすのがうまいということがわかったくらいだよ。
自分が知っている言語だと、「param == 0」は前提にならないと思うのですが、想定している言語を教えて頂いても構わないでしょうか? 自分の知っている言語では論理積・論理和の評価...
自分の知っている言語では論理積・論理和の評価優先順位は同じ物ばかり 横だけど、大多数の言語は論理積の方が優先順位高くて、例外的な言語でのみ論理和の方が高いことがあると...
論理積・論理和の優先順位に関しては完全に勘違いでした。論理積のほうが上ですね。
自分の伝え方が悪いのがいけないんですが、 言語的な仕様の話ではなくて、増田の条件式に対しての日本語化がおかしく見えるという話です。 「かつ」とか「または」とかって、1,2,3,4...