#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:
Нет, потому что
-
такой язык был бы синтаксическим кошмаром
-
желаемый эффект может быть легко достигнут с помощью
результат = bool ? add( 5, 10) : add(5, 10, 15) # вычислены оба выражения?
результат = add(5, 10, bool ? 0 : 15 ) # возможно, nil, empty или nix вместо 0
стандартный if языка