함수형 프로그래밍-튜플
튜플은 고정 된 수의 항을 갖는 복합 데이터 유형입니다. 튜플의 각 용어는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