Unetway

Erlang - Базовый синтаксис

Чтобы понять основной синтаксис 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

Комментарии используются для документирования вашего кода. Одиночные комментарии обозначаются символом % в любой позиции в строке.