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