Ruby/Ruby-日本語
Ruby 真偽値と論理演算子
아랑팡팡
2023. 12. 14. 00:13
728x90
Ruby 真偽値と論理演算子
真偽値
- 命題の真偽を示す値
Rudyの真偽値のルール
- falseまたはnilであれば 偽(false)
- それ以外は全て真(true)
真(true)となる例
trueそのもの
- true
全ての数値
1
0
-1
全ての文字列
- 'abc'
- 'true'
- 'false'
- ' '
他の言語との比較
C や C++ では 0 が偽りで、0 でないすべての値が真に見なされます。
Python では、None、False、0、空の文字列"、空のリスト[]、空のタプル()、空のディクショナリー{} などが嘘とみなされます。
JavaScriptでは、false、0、空の文字列"、null、undefined、NaNが偽りとみなされます。
論理演算子
- &&, || のような論理演算子を使うと、複数の条件を一つにまとめることができる。
注意点
- and, or, notは &&, ||, ! と比べて優先順位が低い
- 基本的には混在させない
論理演算子 | |
AND ( && ) | ture && ture # ture ture && false # false |
OR ( || ) | true || false # true false || false # false |
NOT ( ! ) | !true # false !false # true |
条件AND ( and ) | 制御の流れに使う |
OR ( or ) | 制御の流れに使う |
NOT ( not ) | 制御の流れに使う |
論理積と論理和
論理積 (and)
a && b
aとbが共に真の場合に真
論理和 (or)
a || b
aかbなくとも1つが真の場合に真
基本情報
irb#1(main):129> t1 = true
=> true
irb#1(main):130> t2 = true
=> true
irb#1(main):131> f1 = false
=> false
irb#1(main):132> f2 = false
=> false
&&, and
irb#1(main):133> t1 && t2
=> true
irb#1(main):134> t1 and t2
=> true
irb#1(main):135> t1 && t2
=> true
irb#1(main):136> t1 && f1
=> false
irb#1(main):137> t1 and f2
||, or
irb#1(main):138> t1 || t2
=> true
irb#1(main):139> t1 or t2
=> true
irb#1(main):140> t1 || f2
=> true
irb#1(main):141> t1 or f2
=> true
!, not
irb#1(main):142> !t1
=> false
irb#1(main):143> not(t1)
=> false
irb#1(main):144> !f1
=> true
irb#1(main):145> not(f2)
=> true
728x90
반응형
LIST