Menu
CoddyTech

逻辑运算符第 4 部分

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 20 课,共 88 课。

在一个表达式中组合多个逻辑运算符时,Ruby 会根据运算符优先级按特定顺序进行求值。了解这个顺序有助于你编写正确的条件,避免出现意外结果。

优先级从高到低依次为:!(非),然后是 &&(与),最后是 ||(或)。这意味着先计算 !,接着计算 &&,最后计算 ||:

true || false && false   # true(&& 优先计算)
# 等同于:true || (false && false)

!false && true           # true(! 优先计算)
# 等同于:(!false) && true

你可以使用括号覆盖默认优先级,让表达意图更清晰:

(true || false) && false  # false(括号让 || 先计算)
true || (false && false)  # true(默认计算顺序)

即使括号不是必需的,添加括号通常也能让复杂表达式更易于阅读。如果不确定,就用括号明确表示条件应如何分组。

challenge icon

挑战

简单

已为你提供以下变量:

x = true
y = false
z = true
a = false

计算以下表达式,并将每个结果单独显示在一行中。请注意运算符的优先级:先计算 !,然后计算 &&,最后计算 ||。

  1. x || y && z
  2. !y && z
  3. x && y || z
  4. !a || y && z
  5. x && !y && z
  6. (x || y) && a
  7. x || (y && a)
  8. !(x && y) || z

每个输出都应为 true 或 false。

亲手试试

# 变量已经为你定义好了
x = true
y = false
z = true
a = false

# TODO: 计算每个表达式,并将结果分别输出在单独一行
# 记住运算符的优先级:先 !,再 &&,最后 ||

# 1. x || y && z
puts # 在这里填写你的表达式

# 2. !y && z
puts # 在这里填写你的表达式

# 3. x && y || z
puts # 在这里填写你的表达式

# 4. !a || y && z
puts # 在这里填写你的表达式

# 5. x && !y && z
puts # 在这里填写你的表达式

# 6. (x || y) && a
puts # 在这里填写你的表达式

# 7. x || (y && a)
puts # 在这里填写你的表达式

# 8. !(x && y) || z
puts # 在这里填写你的表达式
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Ruby 在线编译器