4.5 KiB
title | localeTitle |
---|---|
Erlang | Erlang |
Erlang
Erlang - это функциональный язык программирования, разработанный Ericsson для использования в телекоммуникационных приложениях. Поскольку они чувствовали, что для телекоммуникационной системы неприемлемо иметь какое-либо существенное время простоя, Эрланг был построен, среди прочего:
- распределенной и отказоустойчивой (часть неисправного программного обеспечения или аппаратного обеспечения не должна приводить систему к работе)
- (он может генерировать множество процессов, каждый из которых выполняет небольшую и четко определенную часть работы и изолируется друг от друга, но может общаться через обмен сообщениями)
- с возможностью горячей замены (код можно поменять местами в системе во время работы, что приведет к высокой доступности и минимальному простому простоя системы)
Синтаксис
Эрланг сильно использует рекурсию . Поскольку данные в Erlang неизменяемы, использование while
и for
циклов (где переменная должно продолжать изменять свое значение) недопустимо.
Ниже приведен пример рекурсии, показывающий, как функция повторно накладывает первую букву с начала имени и печатает ее, только останавливаясь при обнаружении последней буквы.
-module(name).
-export([print_name/1]).
print_name([RemainingLetter | []]) ->
io:format("~c~n", [RemainingLetter]);
print_name([FirstLetter | RestOfName]) ->
io:format("~c~n", [FirstLetter]),
print_name(RestOfName).
Вывод:
> name:print_name("Mike").
M
i
k
e
ok
Также большое внимание уделяется сопоставлению шаблонов , что часто устраняет необходимость в структуре if
или case
. В следующем примере есть два соответствия для конкретных имен, за которыми следует catch-all для любых других имен.
-module(greeting).
-export([say_hello/1]).
say_hello("Mary") ->
"Welcome back Mary!";
say_hello("Tom") ->
"Howdy Tom.";
say_hello(Name) ->
"Hello " ++ Name ++ ".".
Вывод:
> greeting:say_hello("Mary").
"Welcome back Mary!"
> greeting:say_hello("Tom").
"Howdy Tom."
> greeting:say_hello("Beth").
"Hello Beth."
Попробуйте
Существуют веб-сайты, на которых вы можете попробовать запустить команды Erlang без необходимости устанавливать что-либо локально, например:
Если вы хотите установить его на свою (или виртуальную) машину, вы можете найти установочные файлы на Erlang.org или в Erlang Solutions .
Дополнительная информация:
- Информация о Эрланге
- Узнай, что у тебя есть Эрланг!
- Порожденный укрытие! (сборник статей, видеороликов и книг для изучения Эрланг)
- Эрланг (язык программирования)