Programmation fonctionnelle - Tuple

Un tuple est un type de données composé ayant un nombre fixe de termes. Chaque terme d'un tuple est appeléelement. Le nombre d'éléments correspond à la taille du tuple.

Programme pour définir un tuple en C #

Le programme suivant montre comment définir un tuple de quatre termes et les imprimer en utilisant C #, qui est un langage de programmation orienté objet.

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

Il produira la sortie suivante -

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

Programme pour définir un tuple dans Erlang

Le programme suivant montre comment définir un tuple de quatre termes et les imprimer en utilisant Erlang, qui est un langage de programmation fonctionnel.

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

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

Il produira la sortie suivante -

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

Avantages de Tuple

Les tuples offrent les avantages suivants -

  • Les tuples sont par nature de taille fine, c'est-à-dire que nous ne pouvons pas ajouter / supprimer des éléments à / d'un tuple.

  • Nous pouvons rechercher n'importe quel élément dans un tuple.

  • Les tuples sont plus rapides que les listes, car ils ont un ensemble constant de valeurs.

  • Les tuples peuvent être utilisés comme clés de dictionnaire, car ils contiennent des valeurs immuables telles que des chaînes, des nombres, etc.

Tuples vs listes

Tuple liste
Les tuples sont immutable, c'est-à-dire que nous ne pouvons pas mettre à jour ses données. Liste sont mutable, c'est-à-dire que nous pouvons mettre à jour ses données.
Les éléments d'un tuple peuvent être de type différent. Tous les éléments d'une liste sont du même type.
Les tuples sont indiqués par des parenthèses rondes autour des éléments. Les listes sont indiquées par des crochets autour des éléments.

Opérations sur les tuples

Dans cette section, nous aborderons quelques opérations qui peuvent être effectuées sur un tuple.

Vérifiez si une valeur insérée est un Tuple ou non

La méthode is_tuple(tuplevalues)est utilisé pour déterminer si une valeur insérée est un tuple ou non. Il retournetrue lorsqu'une valeur insérée est un tuple, sinon elle retourne false. Par exemple,

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

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

Il produira la sortie suivante -

True

Conversion d'une liste en tuple

La méthode list_to_tuple(listvalues)convertit une liste en un tuple. Par exemple,

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

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

Il produira la sortie suivante -

{1, 2, 3, 4, 5}

Conversion d'un tuple en liste

La méthode tuple_to_list(tuplevalues)convertit un tuple spécifié au format de liste. Par exemple,

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

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

Il produira la sortie suivante -

[1, 2, 3, 4, 5]

Vérifier la taille du tuple

La méthode tuple_size(tuplename)renvoie la taille d'un tuple. Par exemple,

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

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

Il produira la sortie suivante -

5