Programowanie funkcjonalne - krotka

Krotka to złożony typ danych, który ma stałą liczbę terminów. Każdy termin w krotce jest znany jakoelement. Liczba elementów to rozmiar krotki.

Program do definiowania krotki w C #

Poniższy program pokazuje, jak zdefiniować krotkę czterech terminów i wydrukować je przy użyciu języka C #, który jest zorientowanym obiektowo językiem programowania.

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);    
   } 
}

Wytworzy następujący wynik -

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

Program do definiowania krotki w Erlang

Poniższy program pokazuje, jak zdefiniować krotkę czterech terminów i wydrukować je za pomocą Erlang, który jest funkcjonalnym językiem programowania.

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

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

Wytworzy następujący wynik -

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

Zalety Tuple

Krotki mają następujące zalety -

  • Krotki mają z natury określony rozmiar, tzn. Nie możemy dodawać / usuwać elementów do / z krotki.

  • Możemy przeszukiwać dowolny element w krotce.

  • Krotki są szybsze niż listy, ponieważ mają stały zestaw wartości.

  • Krotki mogą być używane jako klucze słownikowe, ponieważ zawierają niezmienne wartości, takie jak łańcuchy, liczby itp.

Krotki a listy

Tuple Lista
Krotki są immutabletj. nie możemy zaktualizować jego danych. Lista jest mutableczyli możemy aktualizować jego dane.
Elementy w krotce mogą być różnego typu. Wszystkie elementy na liście są tego samego typu.
Krotki są oznaczone okrągłymi nawiasami wokół elementów. Listy są oznaczone nawiasami kwadratowymi wokół elementów.

Operacje na krotkach

W tej sekcji omówimy kilka operacji, które można wykonać na krotce.

Sprawdź, czy wstawiona wartość jest krotką, czy nie

Metoda is_tuple(tuplevalues)służy do określenia, czy wstawiona wartość jest krotką, czy nie. Wracatrue gdy wstawiana wartość jest krotką, w przeciwnym razie zwraca false. Na przykład,

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

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

Wytworzy następujący wynik -

True

Konwersja listy na krotkę

Metoda list_to_tuple(listvalues)konwertuje listę na krotkę. Na przykład,

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

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

Wytworzy następujący wynik -

{1, 2, 3, 4, 5}

Konwersja krotki na listę

Metoda tuple_to_list(tuplevalues)konwertuje określoną krotkę na format listy. Na przykład,

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

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

Wytworzy następujący wynik -

[1, 2, 3, 4, 5]

Sprawdź rozmiar krotki

Metoda tuple_size(tuplename)zwraca rozmiar krotki. Na przykład,

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

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

Wytworzy następujący wynik -

5