Programación funcional - Tuple

Una tupla es un tipo de datos compuestos que tiene un número fijo de términos. Cada término de una tupla se conoce comoelement. El número de elementos es el tamaño de la tupla.

Programa para definir una tupla en C #

El siguiente programa muestra cómo definir una tupla de cuatro términos e imprimirlos usando C #, que es un lenguaje de programación orientado a objetos.

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

Producirá la siguiente salida:

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

Programa para definir una tupla en Erlang

El siguiente programa muestra cómo definir una tupla de cuatro términos e imprimirlos usando Erlang, que es un lenguaje de programación funcional.

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

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

Producirá la siguiente salida:

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

Ventajas de Tuple

Las tuplas ofrecen las siguientes ventajas:

  • Las tuplas tienen un tamaño limitado por naturaleza, es decir, no podemos agregar / eliminar elementos a / desde una tupla.

  • Podemos buscar cualquier elemento en una tupla.

  • Las tuplas son más rápidas que las listas porque tienen un conjunto constante de valores.

  • Las tuplas se pueden usar como claves de diccionario, porque contienen valores inmutables como cadenas, números, etc.

Tuplas vs listas

Tupla Lista
Las tuplas son immutable, es decir, no podemos actualizar sus datos. Lista son mutable, es decir, podemos actualizar sus datos.
Los elementos de una tupla pueden ser de diferente tipo. Todos los elementos de una lista son del mismo tipo.
Las tuplas se indican mediante paréntesis alrededor de los elementos. Las listas se indican mediante corchetes alrededor de los elementos.

Operaciones en tuplas

En esta sección, discutiremos algunas operaciones que se pueden realizar en una tupla.

Compruebe si un valor insertado es una tupla o no

El método is_tuple(tuplevalues)se utiliza para determinar si un valor insertado es una tupla o no. Vuelvetrue cuando un valor insertado es una tupla, de lo contrario, devuelve false. Por ejemplo,

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

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

Producirá la siguiente salida:

True

Convertir una lista en una tupla

El método list_to_tuple(listvalues)convierte una lista en una tupla. Por ejemplo,

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

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

Producirá la siguiente salida:

{1, 2, 3, 4, 5}

Convertir una tupla en una lista

El método tuple_to_list(tuplevalues)convierte una tupla especificada en formato de lista. Por ejemplo,

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

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

Producirá la siguiente salida:

[1, 2, 3, 4, 5]

Compruebe el tamaño de la tupla

El método tuple_size(tuplename)devuelve el tamaño de una tupla. Por ejemplo,

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

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

Producirá la siguiente salida:

5