프로세스 프로세스라는 것은 운영체제에서 자주 사용되는 용어이다. 그렇지만 얼랭에서 프로세스는 운영체제가 아닌 프로그래밍 언어에 속한다. 따라서 얼랭에서의 프로세스는 운영체제에서 가지고 있는 프로세스의 느낌과는 조금은 다르다. 프로세스의 생성과 제거가 매우 빠르다. 프로세스 간 메세지 전송이 매우 빠르다. 매우 많은 수의 프로세스를 가질 수 있음. 모든 OS에서 프로세스가 동일한 방식으로 동작한다. 프로세스는 메모리를 공유하지 않고 독립적이다. 프로세스가 상호작용하는 유일한 방법은 메세지 전달을 통해서다. 기본적으로 프로세스를 생성하거나 메세지를 전달하는 것은 커널을 통해서 하기 때문에 느린 것으로 인지된다. 그렇지만 얼랭에서의 프로세스는 프로그래밍 언어에 속하기 때문에 일반적으로 알고 있던 프로세스보다 ..
3.1 모듈 %%%------------------------------------------------------------------- %%% @author user %%% @copyright (C) 2022, %%% @doc %%% %%% @end %%% Created : 06. 9월 2022 4:13 PM %%%------------------------------------------------------------------- -module(geometry). -author("user"). %% API -export([area/1]). area({rectancle,Width,Ht}) -> Width * Ht ; area({circle, R}) -> 3.14159 * R * R. 모듈은 얼랭에서..
변수 설정 # 이거 안됨 a=1. ## 이건 됨 Abc = 1. ABC = 2. erlang의 모든 변수는 대문자로 시작해야한다. 변수 erlang에서 변수는 단일 할당 변수다. 변수는 두 가지 상태를 가짐 UnBound : 아직 값을 가지지 않음. "=" 연산자는 할당 연산자처럼 동작. Bound : 값을 가짐. "=" 연산자는 패턴 연산자로 동작. erlang에서 변수는 어떤 값에 대한 참조다. Bound 된 변수는 그 값을 담은 저장소 영역에 대한 포인터로 표현된다. erlang의 변수에는 atom도 할당이 가능하다. 익명 변수 _ : 익명변수 # 사용법 {_,{_,{_,{_,Who},_},_} = Person. "_"는 익명변수로 사용된다. 익명변수는 동일한 패턴에서 여러 번 나오더라도 같은 값으..