MyTetra Share
Делитесь знаниями!
Кортежи в Haskell
25.04.2019
13:04
Автор: br0ke
Текстовые метки: haskell, fp, tuple, кортеж, type, datatype, fst, snd
Раздел: Информационные технологии - Haskell

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


Объявление 2-кортежа:


> (1, 2)

(1, 2)

> :type (1, 2)

(1, 2) :: (Num a, Num b) => (a, b)


Для 2-кортежей есть функции для извлечения первого и второго значения:

> fst (1, 2)

1

> snd (1, 2)

2


Объявление 3-кортежа из разных типов:

> :type (1, True, 'c')

(1, True, 'c') :: Num a => (a, Bool, Char)


Не существует кортежей из одного элемента, в таком смысле скобки просто означают группировку и отбрасываются:

> (3)

3


Но зато существует пустой кортеж:

> ()

()

> :type ()

() :: ()

 
MyTetra Share v.0.52
Яндекс индекс цитирования