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

Erlang 基本语法

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

% hello world プログラム
-module(helloworld). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello, world!\n").

上記のプログラムについて、以下の点に注意してください:

  • %シンボルは、プログラムにコメントを追加するために使用されます。

  • module文は、どのプログラミング言語でもコマンド空間を追加するように設計されています。ここで言いたいのは、このコードがhelloworldというモジュールの一部であることです。

  • export関数を使用すると、プログラムで定義されているどんな関数も使用できます。私たちはstart関数を定義していますが、start関数を使用するために、export文を使用する必要があります。/0は、私たちの関数‘start’が0引数を受け取ることを示します。

  • 最終的にstart関数を定義しました。ここでは、Erlangですべての必要な入出力機能を持つ別のモジュールioを使用しています。fwrite関数を使用して「Hello World」をコンソールに出力します。

上記のプログラムの出力は以下の通りです-

出力

Hello, world!

宣言の一般的な形式

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文の一般的な形式を説明します。-

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

どこに、

  • モジュール名−インポートする必要のあるモジュールの名前。

  • 関数名/引数 −モジュールにインポートする必要のある機能。

hello worldプログラムをimport文を使用して書く方法を変更しましょう。以下のプログラムに示します。

% hello world プログラム
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).
start() ->
   fwrite("Hello, world!\n").

上記のコードでは、importキーワードを使用してライブラリ「io」をインポートしています。特にfwrite関数。したがって、現在はfwrite関数を呼び出すたびにどこでも明示する必要はありませんioモジュール名。

Erlangのキーワード

キーワードはErlangの予約語であり、それ以外の目的に使用することはできません。以下はErlangのキーワードリストです。

afterandandalsoband
beginbnotborbsl
bsrbxorcasecatch
conddivendfun
ifletnotof
ororelsereceiverem
trywhenxor

Erlang コメント

コメントはコードの記録に使用されます。一行コメントは行のどこにでも%シンボルを使用して識別されます。以下は同じ-

% hello world プログラム
-module(helloworld).
% io モジュールをインポートするための関数を導入します。
-import(io,[fwrite/1]).
% 函数を导出し、スタート関数のアクセスを確保します。
-export([start/0]).
start() ->
   fwrite("Hello, world!\n").