隨著近幾年 Elixir 開發的相關工具套件發展成熟穩定,想要重新寫一個入門可以輕鬆上手的教學提供對 Elixir 有興趣的新朋友玩玩看。雖然優秀的教學與書已經很多也非常推薦 Elixir 的官方文件,不過每個人的理解新知的方式不同,我在這個系列會使用我理解的方式來講解 Elixir,希望提供給大家不同面向教學。期待大家在看完這個系列後,就算沒有真的寫 Elixir 也能嘴上兩句。
AST 抽象語法樹 在開始使用巨集(macro)之前,我們要先理解 Elixir 在編譯前會變成的抽象語法樹AST (Abstract Syntax Tree)...
除了直接使用 Code.eval_quoted 把表達試直接執行之外寫巨集(macro)的時候,我們也會使用 Macro.to_string/1來預先檢查目前寫...
讓我們建立一個檔案來寫帶有巨集 (macro) 的模組 defmodule MyMacro do defmacro macro_rem(a, b) do...
當我們把共同的邏輯抽出成套件時,有時後會需要規定使用的模組有定義特定的函式作為 callback,除了之前介紹過得 behaviour 來規定之外,我們也可以使...