在 Ruby 中編寫單行 if 語句
Nurudeen Ibrahim
2023年1月30日
- 在 Ruby 中使用三元運算子編寫單行 if 語句
-
在 Ruby 中僅使用
IF
編寫單行語句 -
在 Ruby 中使用
IF-Else
編寫單行語句 -
在 Ruby 中使用
unless
編寫單行語句 -
在 Ruby 中使用
Unless-Else
編寫單行語句
與其他現代程式語言一樣,Ruby 有不同的表達條件流的方式,但更靈活。
在本教程中,我們的重點將是如何使用 if
、else
和 unless
編寫單行條件語句。
在 Ruby 中使用三元運算子編寫單行 if 語句
三元
運算子的用法類似於它在其他程式語言中的使用方式。它具有以下語法。
condition ? do_something_if_condition_is_true : do_another_thing_if_condition_is_false
示例程式碼:
def check_even(number)
response = number.even? ? "Yeah, it's even" : "No, it's not"
puts response
end
check_even(4)
check_even(5)
輸出:
Yeah, it's even
No, it's not
在 Ruby 中僅使用 IF
編寫單行語句
當你只想在條件為真時做某事而在條件為假時什麼都不做時,這很有用。
def increment_with_even(n)
number = 10
number += n if n.even?
puts number
end
increment_with_even(4)
increment_with_even(5)
輸出:
14
10
在 Ruby 中使用 IF-Else
編寫單行語句
這是一個常規的 if-else
,如果條件為真,則指定一個動作,如果條件為假,則指定另一個動作。
def check_even(number)
response = if number.even? then "Yeah, it's even" else "No, it's not" end
puts response
end
check_even(4)
check_even(5)
輸出:
Yeah, it's even
No, it's not
在 Ruby 中使用 unless
編寫單行語句
unless
是 if
的相反形式。這意味著如果沒有。
def increment_with_even(n)
number = 10
number += n unless !n.even?
puts number
end
increment_with_even(4)
increment_with_even(5)
輸出:
14
10
不推薦在上面的例子中使用 unless
。使用這種方式進行說明。
unless
被視為否定陳述。在這種情況下,它不應該用於否定表示式 !n.even?
使程式碼更難理解。
在 Ruby 中使用 Unless-Else
編寫單行語句
def check_even(number)
response = unless number.even? then "No, it's not" else "Yeah, it's even" end
puts response
end
check_even(4)
check_even(5)
輸出:
Yeah, it's even
No, it's not