Erlang-basic-syntax

提供:Dev Guides
移動先:案内検索

Erlang-基本的な構文

Erlangの基本的な構文を理解するために、まず簡単な Hello World プログラムを見てみましょう。

% hello world program
-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite("Hello, world!\n").

上記のプログラムについては、次のことに注意する必要があります-

  • %記号は、プログラムにコメントを追加するために使用されます。
  • moduleステートメントは、プログラミング言語のように名前空間を追加するようなものです。 ここで、このコードは helloworld と呼ばれるモジュールの一部であることに言及しています。 エクスポート関数は、プログラム内で定義された関数を使用できるように使用されます。 startという関数を定義しており、start関数を使用するには、exportステートメントを使用する必要があります。/0 *は、関数「start」が0個のパラメーターを受け入れることを意味します。
  • 最後に、開始関数を定義します。 ここでは、Erlangに必要なすべての入出力機能を備えた io という別のモジュールを使用します。 fwrite 関数を使用して、「Hello World」をコンソールに出力しました。

上記のプログラムの出力は次のようになります-

出力

Hello, world!

声明の一般的な形式

Erlangでは、Erlang言語で使用されるさまざまなシンボルがあることがわかりました。 単純なHello Worldプログラムから見たことを見てみましょう-

  • ハイフン記号*(–)*は、通常、モジュール、インポート、およびエクスポートステートメントと共に使用されます。 ハイフン記号は、各ステートメントに意味を与えるために使用されます。 したがって、Hello worldプログラムの例は、次のプログラムに示されています-
-module(helloworld).
-export([start/0]).

各ステートメントは、ドット*(。)*記号で区切られます。 Erlangの各ステートメントは、この区切り文字で終わる必要があります。 Hello worldプログラムの例は、次のプログラムに示すとおりです-

io:fwrite("Hello, world!\n").
  • スラッシュ*(/)*記号は、関数とともに使用され、関数によって受け入れられるパラメーターの数を定義します。
-export([start/0]).

モジュール

Erlangでは、すべてのコードはモジュールに分割されます。 モジュールは、一連の属性と関数宣言で構成されます。 これは、コードの異なるユニットを論理的に分離するために使用される他のプログラミング言語の名前空間の概念に似ています。

モジュールの定義

モジュールは、モジュール識別子で定義されます。 一般的な構文と例は次のとおりです。

構文

-module(ModuleName)
*ModuleName* は、ファイル名から拡張子 *.erl* を引いたものと同じである必要があります。 そうしないと、コードのロードが意図したとおりに機能しません。

-module(helloworld)

これらのモジュールについては、次の章で詳しく説明します。これは、モジュールの定義方法の基本的な理解を得るためのものです。

Erlangのインポートステートメント

Erlangでは、既存のErlangモジュールの機能を使用したい場合、import文を使用できます。 インポート文の一般的な形式は、次のプログラムに描かれています-

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

どこで、

  • Modulename -これは、インポートする必要があるモジュールの名前です。
  • functionname/parameter -インポートする必要があるモジュール内の関数。

importステートメントを使用するように、hello worldプログラムの作成方法を変更しましょう。 この例は、次のプログラムに示すとおりです。

% hello world program
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).

start() ->
   fwrite("Hello, world!\n").

上記のコードでは、importキーワードを使用してライブラリ「io」、具体的には fwrite 関数をインポートしています。 そのため、fwrite関数を呼び出すたびに、どこでも io モジュール名を指定する必要はありません。

Erlangのキーワード

キーワードは、Erlangの予約語であり、意図された目的以外の目的には使用しないでください。 以下は、Erlangのキーワードのリストです。

after and andalso band
begin bnot bor bsl
bsr bxor case catch
cond div end fun
if let not of
or orelse receive rem
try when xor

Erlangのコメント

コメントは、コードを文書化するために使用されます。 単一行コメントは、行の任意の位置で*%*記号を使用して識別されます。 以下は、同じ例です-

% hello world program
-module(helloworld).
% import function used to import the io module
-import(io,[fwrite/1]).
% export function used to ensure the start function can be accessed.
-export([start/0]).

start() ->
   fwrite("Hello, world!\n").