今天在練習map對映組的時候(本人erlang版本17.01),根據《erlang程式設計》第二版這本書上操作,在取值的時候發現問題,**如下:
書中操作**如下圖:
明顯兩個程式執行不一樣,後來看到官方文件,才發現是這個樣子:
在上圖中明確指出,在map對映組中取值的時候用(:=)取值,後來又看了看兩者區別發現兩者只是在更新maps的時候有區別,而在取值的時候就沒有發現(=>)的使用。可看下**釋在更新操作的時候兩者區別:
翻譯過來大概意思就是:1.=>使用的時候,若是map不存在對應的key就建立,存在的時候執行更新。
2.:=使用的時候,若是map不存在對應的key就返回badarg錯誤,存在的時候執行更新。
Erlang學習筆記(二)
erlang的併發特性源自語言本身而並非作業系統。它把現實世界模擬成一系列的程序,其間僅靠交換訊息進行互動,因此erlang簡化了並行程式設計。在erlang世界中,存在並行程序但是沒有鎖,沒有同步方法,也不存在記憶體汙染的可能,因為erlang根本沒有共享記憶體.erlang程式可以由幾百萬個超級...
Erlang 學習筆記(二)
erlang 學習筆記 二 guibin.beijing gmail.com size medium 1.5 erlang的資料型別 size b u 變數 variables u b 從 url 927861 erlang 學習筆記 一 url 中的 中的double函式定義發現,其引數為x,而且...
Erlang學習筆記二
函式的過載 module geometry export area 1 area width height area side side.通過傳輸元組的方式,可以實現方法的過載,會根據模式匹配自己尋找合適的匹配方法體。被export宣告的方法就是公有方法,而未被宣告的就變成私有方法。shell的操作...