在 Ruby 的世界裡,因為所有的東西都是物件,只有 nil
和 false
是假的(false)其他都是真的(true)
if age >= 20
puts "2024準備選總統囉"
end
在 Ruby 中 一樣可以用英文倒裝句的方式把 if 放到後面,上面的寫法也可以這樣寫:
puts "2024準備投票選總統囉" if age >= 20
unless = if not
反之if = unless not
但是以程式碼的可讀性來說用 if 會比較直覺一點...
age = 20
unless age < 20
puts "2024準備選總統囉"
end
# 倒裝句
puts "2024準備投票選總統囉" unless age < 20
puts "2024準備投票選總統囉" unless not age >= 20
二分法有點類似非黑即白的概念,如果...不然就..沒有中間其他的選項,這種條件語句的結構可用於根據條件的真假來執行不同的程式碼區塊
age = 20
if age >= 20
puts "可以參加投票選總統!"
else
puts "不可以參加投票選總統!"
end
在上述的情況下,設立條件只有年紀大於等於20可以參加投票選總統,剩下的都不能。
三元運算子是一種簡潔的條件表達方式,可以在一行程式碼中實現簡單的條件選擇,使程式碼更簡潔。
剛剛示範的例子中,原本五行的程式碼可以用一行來簡化:
age = 20
puts age >= 20 ? "可以參加投票選總統!" : "不可以參加投票選總統!"
這邊特別注意 elsif
中間沒有 e
grade = 85
if grade >= 90
puts "優秀!你的成績是 A+。"
elsif grade >= 80
puts "很不錯!你的成績是 A。"
elsif grade >= 70
puts "不錯,你的成績是 B。"
elsif grade >= 60
puts "及格,你的成績是 C。"
else
puts "需要加油,你的成績不及格。"
end
也可以用case..when..
來寫,事實上這樣的寫法其實只是 if .. elsif .. else 的語法糖衣,看個人喜好去選擇寫法。
grade = 85
case grade
when 90..100
puts "優秀!你的成績是 A+。"
when 80..89
puts "很不錯!你的成績是 A。"
when 70..79
puts "不錯,你的成績是 B。"
when 60..69
puts "及格,你的成績是 C。"
else
puts "需要加油,你的成績不及格。"
end
Day 07 預計來介紹方法,我們明天見!