Ruby中的三元(条件)运算符是什么?

三元(or条件)运算符将评估一个表达式,如果它's true,则返回一个值,如果它's false,则返回另一个值。它'有点像速记,紧凑的if语句。

Ruby's三元运算符有其用途,但它's也有点争议。

三元运算符示例秋季健康小知识

让我们看看这个例子:

在这里,条件运算符用于在两个字符串之间进行选择。整个运算符表达式都包括条件,问号,两个字符串和冒号。该表达式的一般格式如下:有条件的?真:假

如果条件表达式为真,则操作员将评估为真表达式。否则,它将被评估为虚假表达。在这个例子中,它在括号中's,所以它不会't干扰它周围的字符串连接运算符。

换句话说,条件运算符就像if语句。请记住,Ruby中的if语句会评估到要执行的块中的最后一个值。所以,你可以重写前面的例子:

这个代码在功能上是等价的,也许更容易理解。如果i大于10,If语句本身将对字符串进行评估"大于"或者将对字符串进行评估"小于或等于。"这与三元运算符正在做的事情相同,只有三元运算符更紧凑。

用于三元运算符

那么,三元运算符有什么用途?它确实有用途,但有'很多,没有它你可以相处得很好。

它'通常用于在条件太大的情况下显示值。It's也用于变量分配以快速选择n两个值。

以下是三元运算符的两个典型用例:

你可能已经注意到这看起来非常不红宝石。复杂表达式只属于Ruby中的一行-it's通常被拆分并易于阅读。但是,您会看到这个操作员,它可以在不失控的情况下有效使用。

要遵循的一个规则是,如果您'使用此运算符在具有简单条件的两个值之间进行选择,则可以使用它's。如果您'正在做更复杂的事情,则可能应该使用If语句。