if、unless、三元运算符
分支基础
if、unless、三元运算符 是 CoddyKit 上的免费 Ruby Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ruby Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ruby Academy 课程共包含 4 节课。
分支基础
程序需要做出决策。在 Ruby 中,只有当条件为真值时,if 关键字才会运行代码块。
if 表达式会计算一个条件;如果条件成立,就会运行 if 与 end 之间的代码。
age = 20
if age >= 18
puts "You are an adult"
endif / else
添加 else 分支来处理条件为假的情况。两个分支中恰好有一个会运行。
age = 12
if age >= 18
puts "Adult"
else
puts "Minor"
endelsif 链
请使用 elsif 按顺序测试多个条件。Ruby 会从上到下检查它们,并运行第一个匹配的分支。
- 请注意拼写:是
elsif,不是elseif或else if。
score = 75
if score >= 90
puts "A"
elsif score >= 70
puts "B"
elsif score >= 50
puts "C"
else
puts "F"
endif 是表达式
在 Ruby 中,几乎所有内容都是会返回值的表达式。if 会返回所运行分支的值,因此您可以将其赋给一个变量。
age = 20
status = if age >= 18
"adult"
else
"minor"
end
puts status修饰符 if
对于单条简短语句,请将 if 放在行尾。这种写法几乎像英语一样自然,也是 Ruby 惯用写法中非常常见的一种。
temperature = 35
puts "It is hot!" if temperature > 30认识 unless
unless 与 if 相反:当条件为假时,它才会运行主体。您可以将 unless x 理解为 if !x。
logged_in = false
unless logged_in
puts "Please log in"
end修饰符 unless
与 if 一样,unless 也可以作为尾部修饰符用于单行代码。
stock = 0
puts "Out of stock" unless stock > 0避免将 unless 与 else 一起使用
unless 可以接受 else,但这样很快就会变得难以阅读。如果需要两个分支,请优先使用普通的 if。
active = false
unless active
puts "Inactive"
else
puts "Active"
end
# Clearer as a normal if/else三元运算符
三元运算符是针对单个值的紧凑版 if/else。语法为:condition ? value_if_true : value_if_false。
age = 20
label = age >= 18 ? "adult" : "minor"
puts label字符串中的三元运算符
三元运算符在字符串插值中尤其方便;在这种场景下,完整的 if/else 不容易整洁地放入其中。
count = 1
puts "You have #{count} item#{count == 1 ? "" : "s"}"如何选择
快速指南:
- 一般分支使用
if/elsif/else。 - 对于读起来自然的单个否定检查,使用
unless。 - 在两个简单值之间进行选择时,使用三元运算符。
可读性始终比炫技更重要。
n = 7
parity = n.even? ? "even" : "odd"
puts "#{n} is #{parity}"快速检查
测试您对分支的理解。
回顾
您已经学习了 Ruby 的分支工具:
if/elsif/else会根据真值运行代码。if是会返回值的表达式。- 修饰符形式(
do_x if cond)适合简短的单行代码。 unless就是if !——请使用它进行简洁的否定检查。- 三元运算符
? :可以简洁地在两个值之间进行选择。
grade = 88
result = grade >= 60 ? "pass" : "fail"
puts "Result: #{result}"常见问题解答
「if、unless、三元运算符」课时是免费的吗?
是的 — 「if、unless、三元运算符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ruby Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ruby Academy 课程共包含 4 节课。
「if、unless、三元运算符」这节课中我会学到什么?
分支基础 你通过在浏览器中直接运行的动手代码来练习 Ruby Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ruby Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ruby Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「if、unless、三元运算符」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ruby Academy 课中编写并运行代码吗?
能。每节 Ruby Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- if、unless、三元运算符
- case/when 表达式
- Ruby 中的真值判断
- 守卫子句