はてなキーワード: 論理和とは
自分が知っている言語だと、「param == 0」は前提にならないと思うのですが、想定している言語を教えて頂いても構わないでしょうか?
自分の知っている言語では論理積・論理和の評価優先順位は同じ物ばかりで、上げられている条件分に関しては
if ((param==0 && 判定(param2)) || !param3) {~}
そのため、仮にparamが0以外だったとしても、!param3がtrueと評価されるような値の場合は条件を満たすと思われるのですが。(実際node.jsのv5.11.0で試した所そのようになりました。)
追記:論理積と論理和の優先順位で間違いがあったため修正しました。
まず最初の条件を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 ゲームをもったこども }
おーい論理和の人!出番だぞ!
理論的
普通に使う。
何らかの挙動をモデル化して記述する際、モデル化しない(しきれない)要素はどうしても発生する。
そのような要素を考慮しないで述べる際に「理論的には○○」と言う。
例えばプログラムの実行速度をCPUクロックや命令の実行サイクル数から「理論的に」求めることはできるが、
実際には他のタスクの割り込みやメモリスワップ、温度上昇によるクロック低下などにより、実際の実行速度は理論値より低くなる。
1+1
誰が数値の加算だと言った? データ型が違えば、演算子の挙動も違うんだよ。
これが間違い。||は論理和なので(dice1 == 6 || dice2 == 6)のどちらかが真であれば真になる。
あと実行結果はhttp://ideone.com/gIGYPsのstdoutのところを見ろ。
[1] 0.1798 0.1768 0.1912 0.1786 0.1884 0.0852
[1] 0.1712 0.1588 0.1750 0.1546 0.1656 0.1748
6個並んだ数値列が二つあるだろ。これがexperiment1とexperment2のそれぞれの実行結果。