iT邦幫忙

DAY 21
1

蠻可愛的 Erlang 與 Elixir系列 第 21

Elixir: The Power of Erlang, the Joy of Ruby

  • 分享至 

  • xImage
  •  

今天開始介紹Elixir.

這是Dave Thomas一次演講的題目.我覺得很生動的形容了Elixir,
就借來當今天正式介紹Elixir的題目.

Elixir是基於Erlang發展的新語言, 1.0版在2014/9/10 正式公佈.
現在有1.0.1版了.今天又剛發行1.0.2版了.

Elixir是靈丹妙藥之意,或是煉金時用的觸媒藥劑,也很形象的形容其意義.
畢竟Erlang雖然強大,但是與一般程式語言有較大差異.透過Elixir引進
Ruby優秀的語法,可以讓大家有Joy of Ruby,又能驅動 Power of Erlang.

Elixir Logo是這樣的:

Elixir要在Erlang R17版本以上執行.
Elixir Shell 叫 iex
進去後,會發覺跟erlang很像,但是一些輸出會有顏色變化,畢竟elixir是比較新
的,所以有作些增進使用者便利的設計.

我們使用Shell來看一下基本的操作,先介紹變數.

iex(1)> salary = 10000
10000

變數使用小寫, 後面無須用 . 結束

簡單的輸出,使用IO.puts(), 來個 Hello World吧

iex(2)> IO.puts("Hello World!")
Hello World!
:ok

輸出了Hello World!
最後會印出 :ok, 與erlang類似,但是Erlang是ok, Elixir是 :ok
:ok 是原子!

脫離Shell跟Erlang一樣是Ctrl-g

寫一個簡單的程式吧.

defmodule Geo do
  def area(a, b) do
    a * b
  end
end

第一行定義模組名稱 Geo, 等一下存檔時要取名為 Geo.ex
第二行是定義函數開頭,第三行是根據傳入參數運算,跟Erlang一樣
不用寫 return那些,第四行是函數定義結束,第五行是模組定義結束.

跟Ruby類似,又不完全相同.

可以用以下方式編譯

iex Geo.ex

會產生Erlang的BEAM檔.接著我們可以在shell裡使用.

iex(1)> Geo.area(3,2)
6

使用 Module.Function 的方式呼叫.

今天先介紹到此.


上一篇
分散式運算
下一篇
Elixir的函數以及模式比對
系列文
蠻可愛的 Erlang 與 Elixir30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言