Введение

Математическая операция, которая объединяет три элемента для получения другого элемента. В математике, тернарная операция — это n-арная операция, где n = 3. Тернарная операция над множеством A принимает любые три элемента из A и объединяет их, формируя один элемент A. В информатике, тернарный оператор — это оператор, который принимает три аргумента на вход и возвращает один результат.

Примеры

Функция является примером тройной операции на целых числах (или на любой структуре, где определены и ). Свойства этой тройной операции использовались для определения плоских тройных колец в основах проективной геометрии. В евклидовой плоскости с точками a, b, c, отнесёнными к началу координат, тройная операция использовалась для определения свободных векторов. Поскольку (abc) = d подразумевает a – b = c – d, эти направленные отрезки эквиполлентны и соответствуют одному и тому же свободному вектору. Любые три точки в плоскости a, b, c таким образом определяют параллелограмм с точкой d в качестве четвёртой вершины. В проективной геометрии процесс нахождения проективно гармонического сопряжённого является тройной операцией над тремя точками. На диаграмме точки A, B и P определяют точку V, гармонически сопряжённую к P относительно A и B. Точку R и прямую, проходящую через P, можно выбирать произвольно, что определяет точки C и D. Построение отрезков AC и BD даёт точку пересечения Q, а прямая RQ определяет точку V.

Пусть A и B – заданные множества, а – множество бинарных отношений между A и B. Композиция отношений всегда определена, когда A = B, но в противном случае тройная композиция может быть определена как , где – обратное отношение к q. Свойства этого тройного отношения использовались для установления аксиом кучи. В булевой алгебре определяет формулу .

Информатика

В информатике, тернарный оператор — это оператор, принимающий три аргумента (или операнда). Многие языки программирования включают тернарный оператор `?:`, который определяет условное выражение. В некоторых языках этот оператор называют условным оператором. В Python тернарный условный оператор выглядит как `x if C else y`. Python также поддерживает тернарные операции, называемые срезами массивов, например, `a[b:c]` возвращает массив, где первый элемент — `a[b]`, а последний — `a[c-1]`. Выражения в OCaml предоставляют тернарные операции для работы с записями, массивами и строками: `a.[b] < c` означает, что в строке `a` по индексу `b` находится значение `c`.

Операция умножения-накопления является ещё одним тернарным оператором. Другой пример тернарного оператора — `BETWEEN`, используемый в SQL. В языке программирования Icon есть тернарный оператор "to by": выражение `1 to 10 by 2` генерирует нечётные целые числа от 1 до 9. В формулах Excel используется форма `=IF(C, x, y)`.