본문 바로가기
프로그래밍/etc. (Language)

Erlang 문법 정리 (1) - 주석, 변수, 표현 정리

by _BlankSpace 2018. 3. 11.

1. Erlang 특징.


 * 함수 언어.

 * 프로그램이 전적으로 함수로 구성되면서 객체 개념 사용 안함.

 * 함수들은 보통 입력이 같으면 동일안 내용을 리턴함.

 * 함수들은 보통 프로그램의 상태를 변경하지 않음.

 * 변수에 값을 할당하는 것은 오직 한 번 가능함.


2. 주석.


1
% 주석 
cs

'%' 문자를 사용하면 그 줄은 주석 처리가 됩니다.


3. 자료형.



1
2
3
4
5
6
1> 4 + 5.
9
2> 4 + 5.0.
9.0
3> "test".
"test"
cs

erlang에서도 다른 언어와 같이 문자열, 정수 실수와 같이 기본적인 자료형들이 존재합니다.

Line:3 처럼 정수와 실수를 더하면 자동 형변환으로 실수 값이 나오게 됩니다


그리고, erlang에서는 리스트로 문자열을 표현할 수 있습니다.

다음 리스트로 설명하겠습니다.

1
2
> [84. 101115116].
"Test"
cs


단순히, 리스트를 만든 것 같지만, 결과 값으로는 숫자에 맞는 각 아스키 코드 문자가 출력됩니다.

Erlang에서는 문자열이 리스트라고 하네요.


4. 변수의 이름은 대문자로 시작, 값 대입은 한 번만.


위에서 설명한 것처럼 Erlang에서는 변수에 값 할당이 한 번만 가능합니다.

먼저, 변수의 이름을 소문자로 시작할 경우에는 아래의 2번 째 줄처럼 에러가 나옵니다.

1
2
6> test = 4.
** exception error: no match of right hand side value 4
cs


그리고, 하나의 변수에 값을 변경하려고 하면, 에러가 뜹니다.

1
2
3
4
7> Test = 4.
4
8> Test = 5.
** exception error: no match of right hand side value 5
cs


5. 원자, 리스트, 튜플 표현.


먼저, Erlang에서는 기호가 원자라는 이름으로 불리고, 소문자로 시작합니다. 원자는 다시 말해서 더 이상 쪼갤 수 없는 값을 말합니다.

1
2
3
4
5
6
9> dog.
dog
10> Cat = nabi.
nabi
11> Cat.
nabi
cs

위 예제에서 dog와 nabi를 원자라고 말할 수 있습니다.


다음으로 리스트를 설명하겠습니다.

리스트는 보통 대괄호를 이용해서 정의합니다.


1
2
3
4
5
6
7
8
12> [152535].
[15,25,35]
13> [1525, a]. 
[15,25,a]
14> List = [2040, a].
[20,40,a]
15> List2 = [a, 40"hello"80.5].
[a,40,"hello",80.5]
cs

리스트를 구성하는 값는 정수 또는 문자열 하나로만 구성될 수 있는 것이 아니라, 서로 다른 데이터 형도 가능합니다.

댓글