English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
에릭에서는 모든 변수가 '=' 문장으로 바인딩됩니다. 모든 변수는 대문자로 시작해야 합니다. 다른 프로그래밍 언어에서는 '=' 기호가 대입에 사용되지만, Erlang에서는 적용되지 않습니다. 이전에 설명한 것처럼, 변수는 '=' 문장을 사용하여 정의됩니다.
Erlang에서 주의해야 할 것은 변수가 불변하다는 것입니다. 즉, 변수의 값을 변경하기 위해 그를 파괴하고 다시 생성해야 합니다.
이전 장에서 Erlang에서 다음과 같은 기본 변수가 소개되었습니다-
Numbers- 정수나 실수를 나타내는 데 사용됩니다. 예를 들어:10。
Boolean - 이는 보유값을 나타내며 true 또는 false일 수 있습니다.
Bit String- 비트 문자열은 유형 없는 메모리 영역을 저장하는 데 사용됩니다. 예를 들어: << 40,50 >>。
Tuple- 튜플은 항목 수가 고정된 복잡한 데이터 타입입니다. 예를 들어: {40,50}。
Map- 매핑은 키의 수가 불변합니다-- 매핑은 키와 값의 관계를 가진 복잡한 데이터 타입입니다. 매핑의 각 키-값 관계는 연결 쌍으로 불립니다. 예를 들어: {type => person, age => 25}。
List- 리스트는 항목 수가 불변하는 복잡한 데이터 타입입니다. 예를 들어: [40,40]。
변수 정의의 일반 문법은 다음과 같습니다-
var-name = var-value
어디서
var-name - 이는 변수의 이름입니다
var-value - 이는 변수의 값에 바인딩됩니다
변수 선언 예제가 다음과 같습니다-
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, Result = X + Y, io:fwrite("~w",[Result]).
위의 예제에서 우리는2변수가 하나는 값에 바인딩됩니다40의 X, 또 다른 것은 값에 바인딩됩니다50의 Y. 또 다른 이름으로 Result는 X와 Y의 합에 바인딩됩니다.
위 프로그램의 출력은 다음과 같습니다:
90
위와 같이 변수 이름은 대문자로 시작해야 합니다. 소문자로 선언된 변수를 예제로 들어보겠습니다.
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, result = X + Y, io:fwrite("~w",[Result]).
위 프로그램을 컴파일하려고 하면 다음과 같은 컴파일 시 오류가 발생합니다.
helloworld.erl:8: 변수 'Result'는 풀리지 않습니다
또한, 모든 변수는 한 번만 할당할 수 있습니다. 한 번 이상 변수를 할당하는 예제를 들어보겠습니다.
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, X = 60, io:fwrite("~w",[X]).
위 프로그램을 컴파일하려고 하면 다음과 같은 컴파일 시 오류를 받을 것입니다.
helloworld.erl:6: 경고: 변수 'Y'는 사용되지 않습니다 helloworld.erl:7: 경고: 어떤 문항도 일치하지 않을 것입니다 helloworld.erl:7: 경고: 이 문항의 가드는 'false'로 평가됩니다
이 장에서는 변수 출력의 다양한 기능을 사용하는 방법에 대해 논의할 것입니다.
이제 이제 모든 프로그램에서 이를 볼 수 있어야 합니다(io:fwrite).fwrite함수는 'io' 모듈이나 Erlang의 일부로, 프로그램에서 변수의 값을 출력하는 데 사용할 수 있습니다.
아래 예제는 fwrite 문과 함께 사용할 수 있는 더 많은 매개변수를 보여줍니다.
-module(helloworld). -export([start/0]). start() -> X = 40.00, Y = 50.00, io:fwrite("~f~n",[X]), io:fwrite("~e",[Y]).
위 프로그램의 출력은 다음과 같습니다:-
40.000000 5.00000e+1
위 프로그램에 대해 주의해야 할 몇 가지 사항이 있습니다.
~ − 이 문자는 출력에 대한 포맷을 설정해야 하는 것을 나타냅니다.
~f− 매개변수는 부호 실수로, [-] ddd.ddd 중에서 precision은 소수점 뒤의 자리수입니다. 기본 정밀도는6,그리고 최소한1。
~n−println이는 새 줄에 출력합니다.
~e− 매개변수는 부호 실수로, [-] d.ddde + -ddd 중에서 precision은 입력된 자리수입니다. 기본 정밀도는6,그리고 최소한2。