Функциональное программирование - кортеж

Кортеж - это составной тип данных, содержащий фиксированное количество терминов. Каждый член в кортеже известен какelement. Количество элементов - это размер кортежа.

Программа для определения кортежа на C #

В следующей программе показано, как определить кортеж из четырех терминов и распечатать их с помощью C #, объектно-ориентированного языка программирования.

using System; 
public class Test { 
   public static void Main() { 
      var t1 = Tuple.Create(1, 2, 3, new Tuple<int, int>(4, 5));   
      Console.WriteLine("Tuple:" + t1);    
   } 
}

Он выдаст следующий результат -

Tuple :(1, 2, 3, (4, 5))

Программа для определения кортежа в Erlang

В следующей программе показано, как определить кортеж из четырех терминов и распечатать их с помощью Erlang, который является языком функционального программирования.

-module(helloworld).  
-export([start/0]).   

start() -> 
   P = {1,2,3,{4,5}} ,  
   io:fwrite("~w",[P]).

Он выдаст следующий результат -

{1, 2, 3, {4, 5}}

Преимущества кортежа

Кортежи предлагают следующие преимущества -

  • Кортежи имеют размер штрафов, т.е. мы не можем добавлять / удалять элементы в / из кортежа.

  • Мы можем искать любой элемент в кортеже.

  • Кортежи быстрее списков, потому что они имеют постоянный набор значений.

  • Кортежи можно использовать в качестве ключей словаря, поскольку они содержат неизменяемые значения, такие как строки, числа и т. Д.

Кортежи против списков

Кортеж Список
Кортежи immutable, т.е. мы не можем обновить его данные. Список mutable, т.е. мы можем обновить его данные.
Элементы в кортеже могут быть разного типа. Все элементы в списке одного типа.
Кортежи обозначаются круглыми скобками вокруг элементов. Списки заключаются в квадратные скобки вокруг элементов.

Операции с кортежами

В этом разделе мы обсудим несколько операций, которые могут быть выполнены с кортежем.

Проверьте, является ли вставленное значение кортежем или нет

Метод is_tuple(tuplevalues)используется, чтобы определить, является ли вставленное значение кортежем. Он возвращаетсяtrue когда вставленное значение является кортежем, иначе оно возвращает false. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} , io:fwrite("~w",[is_tuple(K)]).

Он выдаст следующий результат -

True

Преобразование списка в кортеж

Метод list_to_tuple(listvalues)преобразует список в кортеж. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   io:fwrite("~w",[list_to_tuple([1,2,3,4,5])]).

Он выдаст следующий результат -

{1, 2, 3, 4, 5}

Преобразование кортежа в список

Метод tuple_to_list(tuplevalues)преобразует указанный кортеж в формат списка. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   io:fwrite("~w",[tuple_to_list({1,2,3,4,5})]).

Он выдаст следующий результат -

[1, 2, 3, 4, 5]

Проверить размер кортежа

Метод tuple_size(tuplename)возвращает размер кортежа. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} ,  
   io:fwrite("~w",[tuple_size(K)]).

Он выдаст следующий результат -

5