AR삽질러

Ruby 真偽値と論理演算子 본문

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

'Ruby > Ruby-日本語' 카테고리의 다른 글

Ruby 演習問題 - テーマパークの入場料計算  (0) 2023.12.14
Ruby 条件分岐 if  (0) 2023.12.14
Rudy インクリメントとデクリメント  (0) 2023.12.13
Ruby 比較演算子  (0) 2023.12.13
Ruby 文字列  (0) 2023.12.13