Elixir 繼承 Erlang 語言的特性,說平行運算是它最重要的功能也不為過。先前曾提到在 Elixir / Erlang 裡的 light-weight...
function? 不是大家每天都在寫嗎? 曾經有人問說「只要會寫程式的人,都一定會定義 function 的啊!那我都用 function 寫程式,就是 fu...
Elixir 這個英文字的意思,是鍊金術裡類似「萬靈藥」的概念。所以之前在 google 時,常常會出現這個: 你也會發現 Elixir 語言相關的工具、套件等...
什麼是 Elixir Elixir 是個函數式,動態型別的程式語言。繼承 Erlang 可分散,高容錯的特性,作者 José Valim 希望能在保持 Erla...
概說 在前面的Erlang與Elixir的介紹裡面,已經有關於process的運作, 以及process之間的互動.也對BEAM及porcess有一定的了解....
Erlang 與 Elixir的 Concurrency 原理 前面我們已經看過Erlang的Concurrency一些實例. 今天來講一下原理. Erlang...
Elixir的loops,嗯..... 遞迴!是的,我們的老朋友遞迴又出現了. 遞迴與尾遞迴 來看一個簡單的範例,產生自然數的. defmodule Natur...
Elixir的Control Flow有四種,分別為Pattern match, Multi-clause functions, Conditional sta...
Range Elixir中提供了range,方便我們指定一個範圍的數字. 來看下面的例子: iex(1)> myrange = 1..3 1..3 iex...
String Elixir提供了String,使用上較為方便 來看下面的範例及說明: iex(1)> "I am a string"...
在Elixir中,List扮演了重要的角色. 如同Erlang或其他現代程式語言. Elixir有提供兩個重要的模組,分別為List與Enum. 在後續的例子中...
在前面的介紹中,我們寫的程式都是用defmodule, 也有使用了IO這個系統模組,來作輸出. 我們來看一下模組的 Import defmodule M1023...
前面在介紹Erlang時,大量使用了模式比對, 在Elixir中,也是一樣. 我們來看以下的模組及函數. defmodule Rectangle do de...
今天開始介紹Elixir. 這是Dave Thomas一次演講的題目.我覺得很生動的形容了Elixir, 就借來當今天正式介紹Elixir的題目. Elixir...
erlang的分散式運算具有許多優點: 效能 工作分派給不同的電腦分別運算,可以讓程式運作的更快 可靠 若其中有部份電腦失效,系統仍可持續運作 規模調整 可視需...
前幾天我們介紹了processes之間的link機制. 也看到了子process脫離或死亡,可以將其隔離, 而不致影響到母process,或是上層的proces...
今天接續昨天的捕捉離開信號,各processes之間的互動關係. process [B] 在今天的情境,都會以system_process的型態來互動. 情境4...
昨天介紹到了捕捉process離開信號,今天要來看一下, 捕捉到了以後process的行為. 先看以下的程式: -module(e1017a). -export...
前面我們看過產生processes及之間的通訊. 那當process發生錯誤時,是怎樣的處理機制呢? 我們先來看一個BIF(內建函數),叫link/1. 簡單範...
昨天的範例中使用了receive,但是process有可能一直沒收到message, 所以receive 有對應的 after, 用來設定等待時間,單位為mil...
昨天的例子是透過erlang shell 傳遞要求給process.<br /> 今天改為client server 方式.<br />...
先來討論erlang中的process. 這是屬於erlang的process,不是OS的process. erlang的process具有以下特點: 建立與...
前面曾經介紹過,用函數當函數參數. 今天介紹進階的應用,這種方式稱為 Higher-order functions. 來看一下範例程式: -module(hhf...
前面有討論過遞迴,今天來討論尾遞迴. 把前面的mylen -module(mylen). -export([len/1]). len([]) -> 0;...
到目前為止都用模式比對,但都用模式比對有時候也不方便. 所以erlang裡也有case與if. case語法如下: case Expression of...
在erlang中,List操作在前面的例子中,已經多次使用. 接著來看看List comprehension,目前尚未看到有合適的中文翻譯, 故在此均保留使用英...
昨天最後介紹的用兩行就山寨了for,如此黯然; for(Max, Max, F) -> [F(Max)]; for(I, Max, F) -> [F...
前面有提到,在erlang中List扮演了重要的角色. 也在模式比對的範例中,使用了List. 今天來看一下,erlang中的內建函數(BIFs, Build-...
一般程序性程式語言會有if else,假設要寫一個依據性別判斷 打招呼時要加Mr. 或是 Mrs. 可能會用以下的方式: function greet(Gend...
今天要來介紹模式比對.erlang承繼了Prolog的模式比對能力, 但在實做上略有差異;Prolog是人工智慧導向,所以會設法比對 所有符合的模式,而erla...