在 Ruby 中編寫單行 if 語句

Nurudeen Ibrahim 2023年1月30日
  1. 在 Ruby 中使用三元運算子編寫單行 if 語句
  2. 在 Ruby 中僅使用 IF 編寫單行語句
  3. 在 Ruby 中使用 IF-Else 編寫單行語句
  4. 在 Ruby 中使用 unless 編寫單行語句
  5. 在 Ruby 中使用 Unless-Else 編寫單行語句
在 Ruby 中編寫單行 if 語句

與其他現代程式語言一樣,Ruby 有不同的表達條件流的方式,但更靈活。

在本教程中,我們的重點將是如何使用 ifelseunless 編寫單行條件語句。

在 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 編寫單行語句

unlessif 的相反形式。這意味著如果沒有。

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