我自己看的筆記, 生人勿近, 沒有解釋, 看了會頭暈
老闆說: "你測一下這個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的重點?
待續...