Чтобы понять основной синтаксис Erlang, давайте сначала рассмотрим простую программу Hello World .
% hello world program
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("Hello, world!\n").
Необходимо отметить следующее:
- Знак % используется для добавления комментариев в программу.
- Оператор модуля похож на добавление пространства имен, как на любом языке программирования. Итак, здесь мы отмечаем, что этот код будет частью модуля helloworld .
- Функция экспорта используется так, чтобы можно было использовать любую функцию, определенную в программе. Мы определяем функцию, называемую start и для использования функции start, мы должны использовать инструкцию export. Значение / 0 означает, что наша функция «start» принимает 0 параметров.
- Наконец, мы определяем нашу функцию начала. Здесь мы используем другой модуль, называемый io, который имеет все необходимые функции ввода вывода в Erlang. Мы использовали функцию 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)
Имя модуля должно быть таким же, как имя файла минус расширение .erl. В противном случае загрузка кода не будет работать должным образом.
-module(helloworld)
Эти Модули будут подробно рассмотрены в последующих главах, это было просто для того, чтобы вы могли понять, как должен быть определен модуль.
Экспорт в Erlang
В Erlang, если вы хотите использовать функциональность существующего модуля Erlang, можно использовать оператор import. Общая форма оператора импорта изображена в следующей программе:
-import (modulename, [functionname/parameter]).
- Modulename - это имя модуля, который необходимо импортировать.
- functionname / parameter - Функция в модуле, который необходимо импортировать.
Давайте изменим способ написания нашей всемирной программы hello, чтобы использовать оператор импорта. Пример будет таким, как показано в следующей программе.
% hello world program
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).
start() ->
fwrite("Hello, world!\n").
В приведенном выше коде мы используем ключевое слово import для импорта библиотеки 'io' и, в частности, функцию fwrite . Итак, всякий раз, когда мы вызываем функцию fwrite, мы не должны упоминать имя модуля io во всем мире.
Ключевые слова в 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
Комментарии используются для документирования вашего кода. Одиночные комментарии обозначаются символом % в любой позиции в строке.
0 комментариев