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