Существуют ли какие-либо языки, в которых троичный оператор может быть использован для изменения структуры кода?

#ternary-operator #ternary

#ternary-operator #троичный

Вопрос:

Мне любопытно узнать, существуют ли какие-либо языки, в которых троичный оператор может быть использован для изменения структуры кода во время выполнения. Такие как:

 
boolean bool = true;
// Addition method - can add 2 or 3 integers.
add(5,10 bool ? ) : ,15);
  

Я бы предположил, что если это где-либо существует, то оба оператора if и else тернарного должны быть приемлемыми во время компиляции.

Комментарии:

1. Я бы ожидал, что Lisp сможет это сделать, очевидно, не этот точный синтаксис.

Ответ №1:

Нет, потому что

  1. такой язык был бы синтаксическим кошмаром

  2. желаемый эффект может быть легко достигнут с помощью

    результат = bool ? add( 5, 10) : add(5, 10, 15) # вычислены оба выражения?

    результат = add(5, 10, bool ? 0 : 15 ) # возможно, nil, empty или nix вместо 0

    стандартный if языка