↓↓クリックして頂けると励みになります。
【08 | for】 << 【ホーム】 >> 【10 | case】
Rubyの論理演算は、条件や値の真偽を扱うための演算です。
主な論理演算子は以下の通りです。
&&(論理積、AND):両方の条件が真の場合に真を返します。
||(論理和、OR):どちらかの条件が真の場合に真を返します。
!(論理否定、NOT):条件を反転させます。
これらの演算子は、真偽値 (trueまたはfalse) を扱うためのものです。
Rubyでは、nilとfalse以外の値は真と見なされます。
Visual Studio Codeで以下のプログラムを作ってみましょう。
新規作成 【iftest3.rb】
# iftest3.rb score = 0 puts '最初の挑戦です。' if rand(0.1..0.9) > 0.5 then puts '成功です。50ポイントを獲得しました。' score = score + 50 puts '2回目の挑戦です。' if rand(0.1..0.9) > 0.5 then puts '成功です。50ポイントを獲得しました。' score = score + 50 else puts '残念。ゲームオーバーです。' end else puts '残念。ゲームオーバーです。' end puts 'あなたのスコアは' + score.to_s + '点です。'
ランダムに出てくる値が0.5より大きかったらスコアが50点ずつ増えていきます。
次も0.5より大きかったらまた50点増えます。
それ以外なら、ゲームオーバーの表示と獲得したスコアの合計が表示されます。
実行するごとに結果が違うので何回かやってみてください。
~/Desktop/Programming/RB $ ruby iftest3.rb 最初の挑戦です。 成功です。50ポイントを獲得しました。 2回目の挑戦です。 残念。ゲームオーバーです。 あなたのスコアは50点です。 ~/Desktop/Programming/RB $ ruby iftest3.rb 最初の挑戦です。 成功です。50ポイントを獲得しました。 2回目の挑戦です。 成功です。50ポイントを獲得しました。 あなたのスコアは100点です。
Visual Studio Codeで以下のプログラムを作ってみましょう。
新規作成 【iftest4.rb】
# iftest4.rb b1 = rand(0.1..0.9) > 0.5 b2 = rand(0.1..0.9) > 0.5 if b1 then if b2 then b3 = true else b3 = false end else if b2 then b3 = false else b3 = false end end puts b1.to_s + '&&' + b2.to_s + ' = ' + b3.to_s
b1とb2の両方が0.5より大きかった場合のみtrue(真)となり、それ以外はfalse(偽)となります。
&&
は論理積で、”かつ”の意味があります。
両方ともtrue(真)の場合のみtrue(真)になります。
どちらかがtrue(真)であれば、結果がtrue(真)になります。
逆に言うと、どちらもfalse(偽)の場合、結果がfalse(偽)になります。
実行結果を確認してみます。
~/Desktop/Programming/RB $ ruby iftest4.rb false&&false = false
Visual Studio Codeで以下のプログラムを作ってみましょう。
新規作成 【iftest5.rb】
# iftest5.rb b1 = rand(0.1..0.9) > 0.5 b2 = rand(0.1..0.9) > 0.5 if b1 then if b2 then b3 = true else b3 = true end else if b2 then b3 = true else b3 = false end end puts b1.to_s + ' || ' + b2.to_s + ' = ' + b3.to_s
b1かb2のどちらかが0.5を越えていればtrueとなり、どちらとも越えていないときだ けfalseとなります。
「||
」は論理和のことです。
どちらかがtrue(真)ならばtrue(真)になります。
何回か実行して、結果を確認してみてください。
~/Desktop/Programming/RB $ ruby iftest5.rb false || true = true ~/Desktop/Programming/RB $ ruby iftest5.rb false || false = false
【08 | for】 << 【ホーム】 >> 【10 | case】
↓↓クリックして頂けると励みになります。