2010-08-10 123 views
5

我的理解是,條件運算符(條件→結果:可選)通常被稱爲「三級運算符」和「三元運算符」。三級和三級之間的區別?

這些術語之間有什麼區別?

回答

6

我從來沒有聽說過「三級」操作符,只有「三元」。我的猜測是這是一種濫用語言。

2

其中之一是不正確的。 Ternary來自這個事實,有三個參數使用(二元運算符使用兩個參數)。 Tertiary來自third,錯誤的是。

10

第三紀是一個地質時期,6500萬到180萬年前。

儘管嚴重,「高等」的意思是「排名第三」 - 不一定是價值,但可能按順序,如小學,中學和高等教育。你需要一個與涉及三個參數有關的術語,那就是「三元」,並且與「二元」和「一元」一起使用。

+4

這就像維基百科。首先,我正在讀關於三元的,然後突然我正在學習地質時期。 – 2010-08-10 13:12:32

12

它應該被稱爲「條件操作符」。 「三元運算符」表示它接受三個操作數。由於它是唯一的共同運營商,因此它有時被稱爲「三元運營商」。只有一個事實是巧合。 「第三運營商」更加錯誤。它意味着像「第三最重要的運營商」。

+0

那麼「三級」的起源很可能只是「三元?」的誤解/拼寫錯誤 – 2016-10-04 17:40:03

1

Wikipedia

在計算機科學中的三元運營商(有時被誤稱爲叔運算符)是一個操作符有三個參數。

我從來沒有聽說過它叫做「三級操作員」。所以,區別在於,使用一個會讓你看起來像一個新手。我猜。

1

一個是正確的,一個是不正確

一個ternary operator與3個輸入端的操作者,例如一個? B:C,它有3

一個tertiary操作arity將僅僅意味着第三操作?這實際上並沒有任何意義

8

「有條件的經營者」是正確的名稱。這是一個ternary operator,唯一一個在許多語言,這就是爲什麼它有時也被稱爲三元運算符。

我認爲將它稱爲「第三」是不正確的。這個詞意味着像「第三種選擇」,有點像小學和中學將是第一和第二。

+0

我想知道還有什麼其他的事情可能需要一個正好三個操作數的操作員來做?我可以想到兩個一般的東西:計算c ^((c^b)&a),評估c一次(一個按位版本?:),並確定一個項目是否在一定範圍內。還沒有看到任何一種語言都是三元運算符(儘管有些語言提供了範圍測試手段)。 – supercat 2010-08-10 14:37:27

+0

@supercat:範圍檢查就是一個很好的例子。我不知道我想寫多少次'if(a 2010-08-10 15:01:26

+0

事實上,C語言中的三元運算符只是我能想到的唯一有用的東西,一個運算符可以做到哪一個函數不能做到,至少不是沒有lambda表達式支持的風格,而AFAIK沒有語言提供對於允許一個函數接受一個將返回指定值的委託的函數是有用的;只有在該函數調用委託時纔會評估這個函數的參數)。 – supercat 2010-08-11 04:28:27

4

如果它被稱爲第三,這是錯誤的左右。

第三意思是 「第三[級]」,而三元裝置 「具有三個部分。」這些不是編程定義 - 只是這些詞的意思。

顯然,操作者三元1 ? 2 : 3;),但是沒有意義在這種情況下。