English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Erlang 모듈

모듈은 단일 파일에 단일 이름으로 다시 조합된 함수 집합입니다. 또한, Erlang의 모든 함수는 모듈에서 정의되어야 합니다.

대부분의 기본 기능(예: 수학, 논리 및 부울 연산자)은 기본 모듈이 프로그램 실행 시에 로드되기 때문에 사용할 수 있습니다. 사용할 모듈에 정의된 각 기타 함수는 다음과 같이 사용해야 합니다 Module: Function (Arguments) 로 호출할 수 있습니다.

모듈 정의

모듈을 사용하면 함수와 속성 두 가지 타입의 내용을 선언할 수 있습니다. 속성은 모듈 자체를 설명하는 메타데이터이며, 예를 들어 이름, 외부에 공개되어야 하는 함수, 코드의 작성자 등입니다. 이 메타데이터는 컴파일러에게 어떻게 작업해야 하는지를 안내하며, 컴파일된 코드에서 유용한 정보를 검색할 수 있게 합니다. 이는 소스 코드를 참조하지 않고도 유용한 정보를 얻을 수 있게 합니다.

함수 선언 문법은 다음과 같습니다:

문법

-module(modulename)

여기서, modulename은 모듈의 이름입니다. 이는 모듈 코드의 첫 번째 행에 있어야 합니다. 아래 프로그램은 helloworld 모듈의 예제를 보여줍니다.

예제

-module(helloworld). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

위의 코드의 출력 결과는 -

Hello World

모듈 속성

모듈 속성은 모듈의 특정 속성을 정의하며, 모듈 속성은 태그와 값으로 구성됩니다.

속성의 일반 문법은 -

문법

-Tag(Value)

아래의 예제 프로그램은 모듈 속성이 어떻게 사용되는지 보여줍니다 -

예제

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

위 프로그램 정의2개의 사용자 정의 속성: author와 version이 있으며, 각각 프로그램의 작성자와 버전 번호를 나타냅니다.

위의 코드의 출력 결과는 -

Hello World

사전 구축 속성

Erlang에는 모듈에 연결할 수 있는 일부 사전 구축된 속성이 있습니다. 이를 보겠습니다.

출력

출력 속성은 함수와 매개변수 수 목록을 통해 다른 모듈로 내보내기 위해 사용됩니다. 이는 모듈 인터페이스를 정의합니다. 이는 이전 예제에서 보았듯이 이미 알고 있습니다.

문법

export([FunctionName1/FunctionArity1,.,FunctionNameN/FunctionArityN])

여기서는,

  • FunctionName − 이는 프로그램에서의 함수 이름입니다;

  • FunctionArity − 이는 함수와 관련된 매개변수 수입니다;

예제

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

위의 코드의 출력 결과는 -

Hello World

인ポート

import 속성은 다른 모듈에서 함수를 가져와서 로컬에서 사용하는 데 사용됩니다

문법

-import(modulename, [functionname/parameter]).

여기서는,

  • Modulename − 가져오는 모듈의 이름은 다음과 같습니다

  • functionname/parameter − 모듈에서 가져오는 함수는 다음과 같습니다

예제

-module(helloworld). 
-import(io,[fwrite/1]). 
-export([start/0]). 
start() -> 
   fwrite("Hello, world!\n").

위의 코드에서는 import 키워드를 사용하여 라이브러리 'io'를 가져오고, fwrite 함수를 지정하여 가져옵니다. 따라서 fwrite 함수를 호출할 때마다 모듈 이름을 매번 적지 않아도 됩니다.

위의 코드의 출력 결과는 -

Hello, world!