English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
모든 프로그래밍 언어에서는 다양한 유형의 정보를 저장하기 위해 여러 변수를 사용해야 합니다. 변수는 단순히 값을 저장하는 예약된 메모리 위치입니다. 이는 변수를 생성할 때, 메모리에 그 변수와 관련된 값을 저장하기 위해 공간을 유지한다는 것을 의미합니다。
데이터 유형, 문자열, 문자, 넓은 문자, 정수, 소수점, 부울 등과 같은 다양한 데이터 유형의 정보를 저장하려는 경우가 많습니다. 운영 체제는 변수의 데이터 유형에 따라 메모리를 할당하고 메모리에 저장할 수 있는 내용을 결정합니다。
Erlang은 여러 가지 내장 데이터 유형을 제공합니다. Erlang에서 정의된 데이터 유형 목록은 다음과 같습니다-
Number(숫자)− Erlang에서는 두 가지 숫자 레이터가 있습니다. 정수와 소수점 수입니다。
Atom(원자)− 원자는 문자로, 이름이 있는 상수입니다. 원자가 소문자로 시작하지 않거나 문자 숫자 문자, 언더스코어(_) 또는 @을 포함하지 않으면, 괄호(')로 감싸야 합니다。
Boolean(부울) − Erlang의 부울 데이터 유형은 두 개의 예약된 원자: true와 false입니다。
Bit String (비트 문자열)−비트 문자열을 사용하여 유형이 없는 메모리 영역을 저장합니다.
Tuple(튜플)−튜플은 변할 수 있는 항목 수를 가진 복합 데이터 타입입니다. 튜플의 각 항목은 요소로 불립니다. 요소의 수는 튜플의 크기로 불립니다.
Map(매핑)−매핑은 변할 수 있는 키 수를 가진 복합 데이터 타입입니다.-값을 연관하는 복합 데이터 타입입니다. 매핑의 각 키-값 연관은 연관쌍으로 불립니다. 이 쌍의 키와 값 부분은 요소로 불립니다. 연관쌍의 수는 매핑의 크기로 불립니다.
List(리스트)−리스트는 변할 수 있는 항목 수를 가진 복합 데이터 타입입니다. 리스트의 각 항목은 요소로 불립니다. 요소의 수는 리스트의 길이로 불립니다.
주의−위 목록에서 String 타입을 볼 수 없습니다. 이는 Erlang에서 특별히 정의된 문자열 데이터 타입이 없기 때문입니다. 하지만 다음 장에서 문자열 사용 방법을 볼 것입니다.
각 데이터 타입을 사용하는 예제를 보여줍니다. 또한, 각 데이터 타입은 이후의 장에서 자세히 논의됩니다. 이는 단지 위의 데이터 타입을 간단히 소개하기 위해입니다.
아래 프로그램은 숫자 데이터 타입을 사용하는 예제를 보여줍니다. 이 프로그램은 다음과 같은2두 정수의 합을 보여줍니다.
-module(helloworld). -export([start/0]). start() -> io:fwrite("~w",[1+1]).
위 프로그램의 출력은 다음과 같습니다
2
원자는 소문자로 시작해야하며, 소문자와 대문자, 숫자, 밑줄을 포함할 수 있습니다.(_)와 " at" 기호(@)를 생성하고 있습니다. 또한, 원자를 괄호로 둘러싸고 " at" 기호를 사용할 수 있습니다.
아래 프로그램은 atom 데이터 타입을 사용하는 예제를 보여줍니다. 이 프로그램에서는 atom1의 원자.
-module(helloworld). -export([start/0]). start() -> io:fwrite(atom1).
위 프로그램의 출력은 다음과 같습니다
atom1
아래 프로그램은 부울 데이터 타입을 사용하는 예제를 보여줍니다. 이 예제는 다음과 같은2두 정수 간의 비교를 수행하고, 결과 부울 값을 컨솔에 출력합니다.
-module(helloworld). -export([start/0]). start() -> io:fwrite(2 =< 3).
위 프로그램의 출력은 다음과 같습니다-
Output
true
아래 프로그램은 비트 문자열 데이터 타입을 사용하는 예제를 보여줍니다. 이 프로그램은 다음과 같은2비트로 구성된 비트 문자열.binary_to_list는 Erlang에서 정의된 내장 함수로, 비트 문자열을 목록으로 변환할 수 있습니다.
-module(helloworld). -export([start/0]). start() -> Bin1 = <<10,20>> X = binary_to_list(Bin1, io:fwrite("~w",[X]).
위 프로그램의 출력은 다음과 같습니다:
[10,20]
아래 프로그램은 Tuple 데이터 타입을 사용하는 예제를 보여줍니다.
여기서 우리는 다음과 같은3항목의 튜플 P. tuple_size는 Erlang에서 정의된 내장 함수로, 튜플의 크기를 결정할 수 있습니다.
-module(helloworld). -export([start/0]). start() -> P = {john,24{june,25}} , io:fwrite("~w",[tuple_size(P)]).
위 프로그램의 출력은 다음과 같습니다-
3
다음 프로그램은 Map 데이터 타입을 사용하는 예제를 보여줍니다.
여기서, 우리는 다음과 같은 것을 정의했습니다.2개의 맵의 Map M1。 map_size는 Erlang으로 정의된 내장된 함수로, 맵의 크기를 결정하는 데 사용될 수 있습니다.
-module(helloworld). -export([start/0]). start() -> M1 = #{name=>john,age=>25}, io:fwrite("~w",[map_size(M1]).
위 프로그램의 출력은 다음과 같습니다:
2
다음 프로그램은 List 데이터 타입을 사용하는 예제를 보여줍니다.
여기서, 우리는 다음과 같은 것을 정의했습니다.목록 L그리고, 그것은3프로젝트. Erlang으로 정의된 내장된 length 함수는 목록의 크기를 결정하는 데 사용될 수 있습니다.
-module(helloworld). -export([start/0]). start() -> L = [10,20,30] , io:fwrite("~w",[length(L)]).
위 프로그램의 출력은 다음과 같습니다:
3