在 Ruby 中编写单行 if 语句
作者:迹忆客
最近更新:2023/03/21
浏览次数:
与其他现代编程语言一样,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