Funktionsprogrammierung - Tupel

Ein Tupel ist ein zusammengesetzter Datentyp mit einer festen Anzahl von Begriffen. Jeder Begriff in einem Tupel wird als bezeichnetelement. Die Anzahl der Elemente entspricht der Größe des Tupels.

Programm zum Definieren eines Tupels in C #

Das folgende Programm zeigt, wie Sie ein Tupel aus vier Begriffen definieren und mit C # drucken, einer objektorientierten Programmiersprache.

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

Es wird die folgende Ausgabe erzeugt -

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

Programm zum Definieren eines Tupels in Erlang

Das folgende Programm zeigt, wie Sie ein Tupel aus vier Begriffen definieren und mit Erlang, einer funktionalen Programmiersprache, drucken.

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

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

Es wird die folgende Ausgabe erzeugt -

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

Vorteile von Tupel

Tupel bieten folgende Vorteile:

  • Tupel haben von Natur aus eine Geldstrafe, dh wir können einem Tupel keine Elemente hinzufügen / daraus löschen.

  • Wir können jedes Element in einem Tupel suchen.

  • Tupel sind schneller als Listen, da sie einen konstanten Wertesatz haben.

  • Tupel können als Wörterbuchschlüssel verwendet werden, da sie unveränderliche Werte wie Zeichenfolgen, Zahlen usw. enthalten.

Tupel gegen Listen

Tupel Liste
Tupel sind immutableDas heißt, wir können seine Daten nicht aktualisieren. Liste sind mutableDas heißt, wir können seine Daten aktualisieren.
Elemente in einem Tupel können vom unterschiedlichen Typ sein. Alle Elemente in einer Liste sind vom gleichen Typ.
Tupel werden durch runde Klammern um die Elemente gekennzeichnet. Listen werden durch eckige Klammern um die Elemente gekennzeichnet.

Operationen an Tupeln

In diesem Abschnitt werden einige Operationen erläutert, die mit einem Tupel ausgeführt werden können.

Überprüfen Sie, ob ein eingefügter Wert ein Tupel ist oder nicht

Die Methode is_tuple(tuplevalues)wird verwendet, um zu bestimmen, ob ein eingefügter Wert ein Tupel ist oder nicht. Es kehrt zurücktrue Wenn ein eingefügter Wert ein Tupel ist, wird er zurückgegeben false. Zum Beispiel,

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

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

Es wird die folgende Ausgabe erzeugt -

True

Konvertieren einer Liste in ein Tupel

Die Methode list_to_tuple(listvalues)konvertiert eine Liste in ein Tupel. Zum Beispiel,

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

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

Es wird die folgende Ausgabe erzeugt -

{1, 2, 3, 4, 5}

Konvertieren eines Tupels in eine Liste

Die Methode tuple_to_list(tuplevalues)konvertiert ein angegebenes Tupel in das Listenformat. Zum Beispiel,

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

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

Es wird die folgende Ausgabe erzeugt -

[1, 2, 3, 4, 5]

Überprüfen Sie die Tupelgröße

Die Methode tuple_size(tuplename)Gibt die Größe eines Tupels zurück. Zum Beispiel,

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

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

Es wird die folgende Ausgabe erzeugt -

5