Ruby中的三元(條件)運算符是什么?

三元(or條件)運算符將評估一個表達式,如果它's true,則返回一個值,如果它's false,則返回另一個值。它'有點像速記,緊湊的if語句。

Ruby's三元運算符有其用途,但它's也有點爭議。

三元運算符示例秋季健康小知識

讓我們看看這個例子:

在這里,條件運算符用于在兩個字符串之間進行選擇。整個運算符表達式都包括條件,問號,兩個字符串和冒號。該表達式的一般格式如下:有條件的?真:假。

如果條件表達式為真,則操作員將評估為真表達式。否則,它將被評估為虛假表達。在這個例子中,它在括號中's,所以它不會't干擾它周圍的字符串連接運算符。

換句話說,條件運算符就像if語句。請記住,Ruby中的if語句會評估到要執(zhí)行的塊中的最后一個值。所以,你可以重寫前面的例子:

這個代碼在功能上是等價的,也許更容易理解。如果i大于10,If語句本身將對字符串進行評估"大于"或者將對字符串進行評估"小于或等于。"這與三元運算符正在做的事情相同,只有三元運算符更緊湊。

用于三元運算符

那么,三元運算符有什么用途?它確實有用途,但有'很多,沒有它你可以相處得很好。

它'通常用于在條件太大的情況下顯示值。It's也用于變量分配以快速選擇n兩個值。

以下是三元運算符的兩個典型用例:

你可能已經(jīng)注意到這看起來非常不紅寶石。復雜表達式只屬于Ruby中的一行-it's通常被拆分并易于閱讀。但是,您會看到這個操作員,它可以在不失控的情況下有效使用。

要遵循的一個規(guī)則是,如果您'使用此運算符在具有簡單條件的兩個值之間進行選擇,則可以使用它's。如果您'正在做更復雜的事情,則可能應該使用If語句。