Lessons: Intermediate

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

自訂 Mix 工作

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

Erlang 互用性

在 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 行為。