Ternary operation

From Wikipedia, the free encyclopedia

In mathematics, a ternary operation is an n-ary operation with n = 3. A ternary operation on a set A takes any given three elements of A and combines them to form a single element of A. An example of a ternary operation is the product in a heap.

In computer science a ternary operator is an operator that takes three arguments. The arguments and result can be of different types.

Many programming languages that use C-like syntax feature a ternary operator, ?:; unqualified, "ternary operator" usually refers to this. The ?: operator is used as a shorthand replacement for the if-then-else conditional statement; the general form is condition ? op1 : op2. If condition is true, the statement evaluates as op1; otherwise, it evaluates as op2.

This particular ternary operator was anticipated by Algol, which allowed if then else to be used in expressions, for example:

a := if x > 0 then x else -x.

Though it had been delayed for several years by disagreements over syntax, a ternary operator for Python was approved as PEP 308 and was added to the 2.5 release in September 2006. Python's ternary operator differs from the common ?: operator in the order of its operands; the general form is op1 if condition else op2. This form invites considering op1 as the normal value and op2 as an exceptional case.

Programming languages in the Visual Basic family instead use a library function, IIf, with syntax iif(condition, op1, op2). This has significant disadvantages, because the internals of the iif function are not visible to the compiler.

[edit] See also

  • ?:, the ternary conditional expression
  • IIf, inline if function

[edit] External links


In other languages