We have updated the content of our program. To access the current Software Engineering curriculum visit curriculum.turing.edu.
Boolean Logic
Boolean Logic
Warmup
- With a partner in pry, use the method below to check the following values: 1.0, “hello”, nil, 0, false, true, “false”
def is_it_truthy(value)
if value
"#{value} is truthy!"
else
"#{value} is falsey!"
end
end
- Research: What values are
falsey
in Ruby?
Truth Tables
- Use a pry session to fill in the table below.
a |
b |
a AND b |
a OR b |
!a |
---|---|---|---|---|
true | true | true | true | false |
true | false | |||
false | true | |||
false | false |
Check Answers
a |
b |
a AND b |
a OR b |
!a |
---|---|---|---|---|
true | true | true | true | false |
true | false | false | true | false |
false | true | false | true | true |
false | false | false | false | true |
Precedence
Precedence refers to the order of operations which Ruby follows.
!
>, >=, <, <=
><=>, ==, ===, !=, =~, !~
&&
||
=, +=, -=, etc.
Example
false || true && false || false
\ /
false || false || false
false
Practice
What do you expect the following to return? Why?
false && false || true
false && (false || true)
Complex Practice
For three boolean values (A
, B
, C
), determine the values of the following expressions:
(A || B) && (A || C)
(A || !B) || (!A || C)
((A && B) && C) || (B && !A)
((A && B) && !C) || ((A && C) && !B)
Exercises
See lesson plan.