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

Чтобы понять основной синтаксис Erlang, давайте сначала рассмотрим простой Hello World программа.

пример

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

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

В отношении вышеуказанной программы необходимо отметить следующее:

  • Знак% используется для добавления комментариев к программе.

  • Оператор модуля похож на добавление пространства имен, как в любом языке программирования. Итак, здесь мы упоминаем, что этот код будет частью модуля с именемhelloworld.

  • Функция экспорта используется для использования любой функции, определенной в программе. Мы определяем функцию с именем start, и чтобы использовать функцию start, мы должны использовать оператор экспорта. В/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)

В ModuleName должно быть таким же, как имя файла без расширения .erl. В противном случае загрузка кода не будет работать должным образом.

пример

-module(helloworld)

Эти модули будут подробно описаны в следующих главах, это было сделано только для того, чтобы вы получили общее представление о том, как следует определять модуль.

Оператор импорта в Erlang

В Erlang, если кто-то хочет использовать функциональные возможности существующего модуля Erlang, можно использовать оператор import. Общая форма оператора импорта изображена в следующей программе -

пример

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

Куда,

  • Modulename - Это имя модуля, который необходимо импортировать.

  • functionname/parameter - Функция в модуле, которую нужно импортировать.

Давайте изменим способ написания нашей программы 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.

после и а также группа
начать bnot бор BSL
бср bxor дело поймать
cond div конец весело
если позволять не из
или же Орлсе Получать rem
пытаться когда 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").