Lessons: Intermediate

Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.

為 Elixir 專案建立自訂 Mix 工作 (custom Mix tasks)。

在 Erlang VM(BEAM)之上構建的附加好處之一,就是有大量的現有函式庫可供使用。互用性 (Interoperability) 使我們能夠藉由 Elixir 程式碼即能利用這些函式庫和 Erlang 標準函式庫。在本課程中,將介紹如何存取隨第三方 Erlang packages 一起的標準函式庫功能。

儘管常見到回傳 {:error, reason} tuple,但 Elixir 也支援異常 (exceptions),在本課程中,將看看如何處理錯誤和我們可用的不同機制。

一般來說,Elixir 中的慣例 (convention) 是建立一個函數 (example/1) 回傳 {:ok, result}{:error, reason}。而一個單獨的函數 (example!/1) 回傳無包圍的 (unwrapped) result 或觸發一個錯誤。

本課程將著重於與後者互動。

要在 Elixir 中建立可執行檔案,需使用 escript。Escript 將生成一個可以在任何安裝了 Erlang 的系統上運作的可執行檔案。

Elixir 的賣點之一是支援並行性 (concurrency)。感謝 Erlang VM (BEAM),Elixir 的並行性比預期的要容易。並行性模組依賴於 Actors,一個包含通過信文傳遞 (message passing) 而與其它處理程序 (processes) 對話的行程。

在本課程中,將介紹 Elixir 附帶的並行性模組。而在下面章節中,會介紹實現它們的 OTP 行為。