함수형 프로그래밍-튜플

튜플은 고정 된 수의 항을 갖는 복합 데이터 유형입니다. 튜플의 각 용어는element. 요소의 수는 튜플의 크기입니다.

C #에서 튜플을 정의하는 프로그램

다음 프로그램은 4 개의 용어로 구성된 튜플을 정의하고 개체 지향 프로그래밍 언어 인 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에서 튜플을 정의하는 프로그램

다음 프로그램은 4 개의 용어로 구성된 튜플을 정의하고 함수형 프로그래밍 언어 인 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