Elixir語言

banq發表於2013-06-04
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
<p class="indent">

結果輸出:
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
<p class="indent">

相關文章