【Erlang】モジュールの作成と利用方法

Erlangモジュールの作成と利用方法

Erlangは並列処理をサポートするプログラミング言語で、分散システムや通信系アプリケーションの開発に適しています。Erlangではモジュールと呼ばれるファイルにコードをまとめ、それを利用してプログラムを構築します。この記事では、Erlangのモジュールの作成と利用方法について詳しく解説します。

概要

Erlangのモジュールは、関数やデータ型をまとめたファイルであり、拡張子が

.erl

となります。モジュールは他のモジュールから呼び出すことができ、コードの再利用や整理に役立ちます。モジュールを作成する際には、モジュール名やエクスポートする関数などを指定します。

モジュールの作成

まず、Erlangのモジュールを作成する手順について解説します。

1. モジュールファイルの作成

まず、任意のテキストエディタを用いて

.erl

拡張子の新しいファイルを作成します。


-module(sample_module).
-export([add/2, greet/1]).

add(X, Y) ->
    X + Y.

greet(Name) ->
    "Hello, " ++ Name ++ "!".

上記の例では、

sample_module

というモジュールを作成し、

add/2

greet/1

の2つの関数をエクスポートしています。

2. モジュールのコンパイル

作成したモジュールをコンパイルするために、Erlangのコンパイラである

erlc

コマンドを使用します。


erlc sample_module.erl

これにより、

sample_module.beam

というバイナリファイルが生成されます。

モジュールの利用

作成したモジュールを他のErlangプログラムから利用する方法について解説します。

1. モジュールの読み込み

他のErlangファイルで作成したモジュールを使用するには、

-include

ディレクティブを使用してモジュールを読み込む必要があります。


-include("sample_module.erl").

2. モジュールの関数呼び出し

読み込んだモジュールの関数を呼び出すには、以下のように記述します。


Result1 = sample_module:add(3, 5).
Result2 = sample_module:greet("Alice").

上記の例では、

sample_module

add/2

greet/1

の関数が呼び出され、その結果が

Result1

Result2

に格納されます。

サンプルコード

以下に、モジュール作成および利用のサンプルコードを示します。


% sample_module.erl
-module(sample_module).
-export([add/2, greet/1]).

add(X, Y) ->
    X + Y.

greet(Name) ->
    "Hello, " ++ Name ++ "!".

% main.erl
-module(main).
-include("sample_module.erl").

main() ->
    Result1 = sample_module:add(3, 5),
    Result2 = sample_module:greet("Alice"),
    io:format("Result of add: ~p~n", [Result1]),
    io:format("Greeting: ~s~n", [Result2]).

まとめ

Erlangのモジュールは、関数やデータ型をまとめたファイルであり、コードの再利用や整理に役立ちます。モジュールを作成する際には、

.erl

ファイルを作成し、適切なモジュール名やエクスポートする関数を指定します。その後、コンパイルして他のErlangプログラムから利用することができます。これにより、効率的で整然としたErlangプログラムを構築することができます。

よくある質問

  • Q. Erlangのモジュールはどのように作成しますか?
  • A: Erlangのモジュールは、.erl拡張子のファイルにErlangのコードを記述して作成します。モジュール名はファイル名と同じである必要があります。

  • Q. Erlangのモジュールを他のモジュールで利用するにはどうすれば良いですか?

  • A: 他のモジュールでErlangのモジュールを利用するには、-import()ディレクティブを使用してモジュールをインポートし、そのモジュールの関数を呼び出すことができます。

  • Q. モジュール内での関数の定義方法は?

  • A: モジュール内で関数を定義するには、-module()ディレクティブでモジュール名を指定し、その下に各関数を定義します。関数は、関数名と引数、処理内容、および返り値を記述して作成します。

  • Q. Erlangのモジュールはどのようにコンパイルしますか?

  • A: Erlangのモジュールをコンパイルするには、erlcコマンドを使用して.erlファイルをコンパイルし、.beamファイルを生成します。生成された.beamファイルはErlang VM上で実行可能な形式です。

  • Q. モジュールの再利用や共有方法は?

  • A: モジュールは再利用や共有が容易であり、他のプロジェクトでも利用できます。モジュールを再利用するには、該当のモジュールファイルを他のプロジェクトにコピーし、-import()ディレクティブを使用してインポートすることができます。
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x