freeCodeCamp/guide/portuguese/erlang/index.md

3.0 KiB
Raw Blame History

title localeTitle
Erlang Erlang

Erlang

Erlang é uma linguagem de programação funcional, desenvolvida pela Ericsson para uso em aplicações de telecomunicações. Por acharem que é inaceitável que um sistema de telecomunicações tenha algum tempo de inatividade significativo, o Erlang foi construído para ser (entre outras coisas):

  • distribuído e tolerante a falhas (um software ou hardware com falha não deve desativar o sistema)
  • concorrente (pode gerar muitos processos, cada um executando um trabalho pequeno e bem definido, e isolados uns dos outros, mas capazes de se comunicar via mensagens)
  • hot-swappable (o código pode ser trocado no sistema durante a execução, levando a alta disponibilidade e tempo de inatividade mínimo do sistema)

Sintaxe

Erlang faz uso pesado de recursão . Como os dados são imutáveis em Erlang, o uso de loops while e for (onde uma variável precisa continuar mudando seu valor) não é permitido.

Aqui está um exemplo de recursão, mostrando como uma função tira repetidamente a primeira letra da frente de um nome e a imprime, parando apenas quando a última letra é encontrada.

-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). 

Saída:

> name:print_name("Mike"). 
 M 
 i 
 k 
 e 
 ok 

Há também uma forte ênfase na correspondência de padrões , que freqüentemente elimina a necessidade de uma estrutura if ou declaração de case . No exemplo a seguir, há duas correspondências para nomes específicos, seguidas por um pega-tudo para quaisquer outros nomes.

-module(greeting). 
 
 -export([say_hello/1]). 
 
 say_hello("Mary") -> 
  "Welcome back Mary!"; 
 say_hello("Tom") -> 
  "Howdy Tom."; 
 say_hello(Name) -> 
  "Hello " ++ Name ++ ".". 

Saída:

> greeting:say_hello("Mary"). 
 "Welcome back Mary!" 
 > greeting:say_hello("Tom"). 
 "Howdy Tom." 
 > greeting:say_hello("Beth"). 
 "Hello Beth." 

Experimente

Existem sites onde você pode tentar executar comandos Erlang sem ter que instalar nada localmente, como estes:

Se você gostaria de instalá-lo em sua máquina (ou virtual), você pode encontrar arquivos de instalação em Erlang.org ou em Erlang Solutions .

Mais Informações: