Variables & Atoms
variables應該不能說是variables,因為其實是immutable,是大寫英文字開頭。atoms就是literals,是小寫英文字開頭。
erlang不提供mutable variable,跟Scala不一樣,erlang是一個pure functional language。
另外一個更棒的是:no class, instance, global variable!!!!!!!
所有variable都是function scope,這太美妙了吧!
atoms就是constants, enums。
= operator as pattern matching
在variable還沒被bind之前,這是assignment (binding),此時variable被bind成某個pattern。但是一個bounded variable來說,這是pattern matching operator。
A = B %%evaluate B then matches A
如果一個variable已經被bind成某個pattern,例如一個tuple:
則 = operator就可以用來把Point裡面的3-tuple成員們extract出來(當然pattern要是一個3-tuple with unbind members):
當然跟其他FP類似,如果不care某些data,可以用 anonymous variable _ 符號承接:
沒有留言:
張貼留言