iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

函數式編程: 從 Elixir & Phoenix 入門。 系列

Elixir 是個函數式,動態型別的程式語言。繼承了 Erlang 平行化,高容錯的特性及 Ruby 友善易讀的語法,是入門函數式編程很棒的起點。而基於 Elixir 開發的 Phoenix framework,則帶來了高生產力及優秀的分散式運算效能。

藉由 30 天循序漸進的範例與解說,就能讓你練習用全新的角度,來理解何謂程式及網頁框架。

鐵人鍊成 | 共 31 篇文章 | 40 人訂閱 訂閱系列文 RSS系列文
DAY 1

Elixir, Phoenix: what and why.

什麼是 Elixir Elixir 是個函數式,動態型別的程式語言。繼承 Erlang 可分散,高容錯的特性,作者 José Valim 希望能在保持 Erla...

2017-12-20 ‧ 由 taiansu 分享
DAY 2

環境安裝

Elixir 這個英文字的意思,是鍊金術裡類似「萬靈藥」的概念。所以之前在 google 時,常常會出現這個: 你也會發現 Elixir 語言相關的工具、套件等...

2017-12-21 ‧ 由 taiansu 分享
DAY 3

什麼是函數式編程,與「等號究竟是什麼意思?」

function? 不是大家每天都在寫嗎? 曾經有人問說「只要會寫程式的人,都一定會定義 function 的啊!那我都用 function 寫程式,就是 fu...

2017-12-22 ‧ 由 taiansu 分享
DAY 4

函式、模組,還有那些會跳針的。

具名函式:有名的都要比較正式 Elixir 中有兩種函式,具名函式及匿名函式。我們先從具名函式的語法開始: def add_one(x) do x + 1...

2017-12-23 ‧ 由 taiansu 分享
DAY 5

親愛的,遞迴把記憶體塞爆了

那個很有名的英文程式問答網站 記得當我們昨天在一步步執行遞迴時,在加總前的最後一步是 (1 + (2 + (3 + 0))) 嗎?在遞迴的每一步想要回傳,但仍然...

2017-12-24 ‧ 由 taiansu 分享
DAY 6

Guards 與 Pipe operator

Guards 在函數式編程中,我們總是希望能寫出更富表達能力的函式,儘可能簡化每個 function body 需要處理的內容。Guards 讓你可以在函式的第...

2017-12-25 ‧ 由 taiansu 分享
DAY 7

匿名函式

Elixir 匿名函式最簡單的宣告語法如下: foo = fn (x) -> x + 1 end 參數的部份也是個 pattern matching,也...

2017-12-26 ‧ 由 taiansu 分享
DAY 8

函式真正的名字、捕獲運算子及 partial application

具名函式的引用名稱 在 Elixir 中,要稱呼一個具名函式,有個固定的格式:模組.函式名/參數個數。這個名稱格式廣泛用於文件及網路上的溝通。打開 iex 試試...

2017-12-27 ‧ 由 taiansu 分享
DAY 9

基本型別及運算

今天來說明幾種 Elixir 中的基本型別及一些常用到的語法細節,比較簡單的部份就直接寫 code 不說明了。 註解 # 註解 do_something() #...

2017-12-28 ‧ 由 taiansu 分享
DAY 10

集合: List, Tuple, Keyword List 及 Map

之前提過,在 OO 語言裡,認為資料及操作一群相關的資料的行為應該放在同一個地方,形成「物件」這種概念。 而在函數式編程裡,卻用完全不同的角度在看待資料結構以及...

2017-12-29 ‧ 由 taiansu 分享