Común · Saberes

Elvis operator

Binary operator in computer programming

Texto en inglés

In certain computer programming languages, the Elvis operator, often written ?:, is a binary operator that returns the first operand if its value is logically true (according to a language-dependent convention, in other words, a truthy value) or returns its second operand if the first operand is not true. That is, it is a short-circuit OR, which returns its first truthy operand.

En Wikipedia

Texto en inglés Aún no hay artículo en tu idioma: extracto en inglés.

In certain computer programming languages, the Elvis operator, often written ?:, is a binary operator that returns the first operand if its value is logically true (according to a language-dependent convention, in other words, a truthy value) or returns its second operand if the first operand is not true. That is, it is a short-circuit OR, which returns its first truthy operand. The syntax of the Elvis operator was inspired by the ternary conditional operator, ? :, since the Elvis operator expression A ?: B is approximately equivalent to the ternary conditional expression A ? A : B. It is called the "Elvis operator" because the notation ?:, when viewed sideways, resembles an emoticon of Elvis Presley with his signature hairstyle. A similar operator is the null coalescing operator, where the boolean truth(iness) check is replaced with a check for non-null instead. This is usually written ??, and can be seen in languages like C# or Dart. In several languages, such as Common Lisp, Clojure, Lua, Object Pascal, Perl, Python, Ruby, and JavaScript, there is no need for the Elvis operator, because the language's logical disjunction operator (typically || or or) is short-circuiting and returns its first operand if it would evaluate to a truthy value, and otherwise its second operand, which may be a truthy or falsy value (rather than a Boolean true or false value, such as in C and C++). These semantics are identical to the Elvis operator. In a language that supports the Elvis operator, something like this: will set x equal to the result of f() if that result is truthy, and to the result of g() otherwise. It is equivalent to this example, using the conditional ternary operator: except that it does not evaluate f() twice if it yields truthy.

Texto: Wikipedia en inglés, CC BY-SA 4.0. · Imagen: Tzali (CC0) ·

Abrir

Toca para cerrar

Confirmación