Elixir: primeros pasos

Elixir

Es un lenguaje de programación de funcional, concurrente, de propósito general basado para la máquina virtual de Erlang

Está un poco raro si vienes del mundo de la programación orientada a objectos. Se me hace como ruby con javascript (ES5/ES6)

Instalar Elixir en MacOs

$ brew update
$ brew install elixir

Acerca de MIX

mix es como el npm de js.

Crear proyecto

$ mix new mi_proyecto
$ cd mi_proyecto

Módulos

La mayoría de las cosas están hechas en módulos, los cuáles son una colección de diversos métodos y funciones.

Algo parecido a los exports de javascript, pero con la ventaja de poder ejecutarse individualmente.

Ejecutar un módulo

Éste es el contenido del archivo cards.ex:

defmodule Cards do  
end  

Agregamos el método hello (los métodos en Elixir hacen un return implícito)

defmodule Cards do

   def hello do
     "hi there"
   end

end  

Sintaxis familiar si vienes de ruby, ¿no?.

Ejecutar el módulo con iex

iex es como un interprete de elixir.

Para correr el módulo, basta hacer:

$ iex -S mix
iex(1)> Cards  
Cards  
iex(2)> Cards.hello  
"hi everyone!"
iex(3)> 1 + 1  
2  

iex no recarga automáticamente lo cambios en tus archivos, hay que ejecutar recompile para eso.