close

我自己看的筆記, 生人勿近, 沒有解釋, 看了會頭暈

老闆說: "你測一下這個erlang"

在這之前沒聽過這個語言
但是聽說很紅
(真是學海無涯啊!)
說是用來跑分散式計算很好用

又追加ㄧ句: "期末做一下報告!"
"喔好~"

所以就這樣開始了

1.erlang有Windows跟Linux兩種binary版
Windows版的連結在這裡: http://www.erlang.org/download.html
點進去 > 選清單最新版 > 下載(網路太慢了ZZZ) > 依序安裝就可以了

2.這邊也有原始碼
嫌事情太少的人可以自己設定組態make成binary檔
(這樣做好像沒啥好處)
作法: 略

3.或者利用它的工具包CEAN安裝
(這是啥?)
有空我再來搞懂
http://cean.process-one.net/download

接1.的步驟:
已經安裝好erlang了
這就開始吧

先玩一下erlang shell看看
出現:
(BEAM) emulator version 5.6.5 [smp:2] [async-threads:0]
Eshell V5.6.5  (abort with ^G)
1>_

測試一下指令:
%: 註解
.: 句點表指令結束, 初學者常忘記
每一指令執行完, 提示數字會加1

計算能力很強
我測了這個:
99999999999999999999999999999999999999999999999999999999999999999999999*999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.
結果:
99999999999999999999999999999999999999999999999999999999999999999999998999999999999999999999999999999999900000000000000000000000000000000000000000000000000000000000000000000001
雖然沒驗算, 應該沒錯
erlang使用任意長度的整數, 整數算術沒有溢位(overflow)的問題(其它呢?)

指令變色麻煩, 下面筆記自己辨識囉

也可以使用其它基底運算, 像這樣:
16#cafe*32#sugar.
1577682511434

儲存變數:
X=123.
123
erlang規定變數名必須是大寫開頭

所以
X*X*X.
1860867

但是再輸入X=1234.會出錯
書上說:
1.X不是ㄧ個"變數", 至少不像在Java中慣用的那樣(但是在erlang中還是稱作變數variable)
2.=不是assignment operator
這兩點對新手(就是我)都很詭異, 原因?

erlang具有"單一指定"變數
單一指定變數只能夠被賦予值一次

已具有指定值的變數稱為bound variable
未.........................unbound
變數一開始都是unbound

=是pattern matching(模式比對)operator, 如果X unbound, =的行為就等同assignment operator

X=X+1在erlang中不能用
所以 > X1=X+1

/: 浮點數除法
div: 整除
rem: 求餘數

(單引號或小寫字母開始的)atom(原子)用來表示非數值的常數

CH2 p25~ tuple(值組), list(清單), 沒有字串

可不可以跳過直接看CH7, CH8的重點?

待續...

arrow
arrow
    全站熱搜

    blophin 發表在 痞客邦 留言(0) 人氣()