第七屆 佳作

dev
蠻可愛的 Erlang 與 Elixir
一級屠豬士

系列文章

DAY 11

尾遞迴

前面有討論過遞迴,今天來討論尾遞迴. 把前面的mylen -module(mylen). -export([len/1]). len([]) -> 0;...

DAY 12

Higher-order functions

前面曾經介紹過,用函數當函數參數. 今天介紹進階的應用,這種方式稱為 Higher-order functions. 來看一下範例程式: -module(hhf...

DAY 13

Concurrent Programming

先來討論erlang中的process. 這是屬於erlang的process,不是OS的process. erlang的process具有以下特點: 建立與...

DAY 14

Concurrent的client server 方式以及產生process所需時間

昨天的例子是透過erlang shell 傳遞要求給process.<br /> 今天改為client server 方式.<br />...

DAY 15

Concurrent的receive with timeout以及註冊process

昨天的範例中使用了receive,但是process有可能一直沒收到message, 所以receive 有對應的 after, 用來設定等待時間,單位為mil...

DAY 16

Concurrent程式設計之Processes錯誤狀況處理

前面我們看過產生processes及之間的通訊. 那當process發生錯誤時,是怎樣的處理機制呢? 我們先來看一個BIF(內建函數),叫link/1. 簡單範...

DAY 17

Concurrent程式設計之捕捉process離開信號 #1

昨天介紹到了捕捉process離開信號,今天要來看一下, 捕捉到了以後process的行為. 先看以下的程式: -module(e1017a). -export...

DAY 18

Concurrent程式設計之捕捉process離開信號 #2

今天接續昨天的捕捉離開信號,各processes之間的互動關係. process [B] 在今天的情境,都會以system_process的型態來互動. 情境4...

DAY 19

Concurrent程式設計 容錯機制

前幾天我們介紹了processes之間的link機制. 也看到了子process脫離或死亡,可以將其隔離, 而不致影響到母process,或是上層的proces...

DAY 20

分散式運算

erlang的分散式運算具有許多優點: 效能 工作分派給不同的電腦分別運算,可以讓程式運作的更快 可靠 若其中有部份電腦失效,系統仍可持續運作 規模調整 可視需...