Elixir语言

Elixir 是一个基于Erlang VM的函数式元编程语言(类似Ruby),通过动态语言的灵活的语法和宏能够利用Erlang建立一个并发 分布 失败冗余的高质量代码。

Elixir提供第一层次的模式匹配pattern matching, 通过协议的多态性(类似 Clojure), 别名等。 Elixir 和 Erlang 分享同样的字节码和数据类型,可以直接调用Erlang。

Elixir一个让人亮眼的特点是:一切都是表达式。


defmodule Hello do
IO.puts "Defining the function world"

def world do
IO.puts
"Hello World"
end

IO.puts
"Function world defined"
end

Hello.world

结果输出:
Defining the function world
Function world defined
Hello World

可以进行元编程和DSL:


defmodule MathTest do
use ExUnit.Case

test "can add two numbers" do
assert 1 + 1 == 2
end
end