12/30/2008

erlang測試紀錄

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


老闆說: "你測一下這個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的重點?


待續...


沒有留言:

張貼留言