Шаг 79.
Основы языка Haskell.
Функции обработки списков. Понятие "кортеж"

    На этом шаге мы рассмотрим это понятие.

    Все элементы в списке должны иметь один и тот же тип: невозможно поместить целое число, например, в список строк.

    Тем не менее, в процессе программирования возникает необходимость группировать элементы различных типов. В этих случаях используют способ организации комбинированных типов: данные группируются в кортежи (или  тьюплы) - упорядоченные множества величин.


   Замечание.
   tuples          (англ.) - кортеж;
   ordered n-tuple (англ.) - упорядоченная n-ка.
Определение (в программировании).
Кортеж - это набор значений разного типа (заключённых в круглые скобки и разделённых запятыми), который составляет единое самостоятельное значение, участвующее в вычислительном процессе.

    Элементы кортежа заключают в круглые скобки и разделяют запятыми. В кортеже важен порядок элементов. Тип кортежа определяется указанием типом каждого элемента.

    Например, (1,(2,3)) и ((1,2),3) являются различными кортежами, имеющими соответственно типы:

   (Int,(Int,Int)) и ((Int,Int),Int).

    Для кортежа из двух элементов используется термин "пара", для кортежа из трёх элементов - "тройка" (или "3-тьюпл") и т.д.


    Пример. Кортеж, содержащий три элемента - целое число, символ, список целых чисел:
   (31,'k',[1,3])

    Существует пустой кортеж (0-тьюпл): величина () имеет тип ().

    1-тьюпл не существует, т.к. выражение (7) - это просто целое число (всегда можно заключить любое выражение в круглые скобки).


   Замечания (для знатоков).
  1. Кортежи напоминают структуры языка C, определяемые с помощью ключевого слова struct.
  2. Кортежи в языке Haskell иногда используются для задания аргументов функций, называемых  некаррированными функциями

    На следующем шаге мы рассмотрим функции обработки двухэлементных кортежей (пар) .




Предыдущий шаг Содержание Следующий шаг