erlang學習筆記之基礎篇(常見問題小結)

由於個人的興趣,之前自學過一段時間的erlang, 後來工作忙,慢慢遺忘了,現在計劃實現一個高併發的項目,考慮到複雜性和時間限制, 又重新系統的學習erlang。總結了一些容易出現的錯誤, 這些錯誤對於剛入門的我,有時不是很輕鬆就能解決。

1.首先記錄一個非常規錯誤, 只是個人的壞習慣, 寫一個Makefile文件,需要將生成的beam文件放入到指定的目錄target中, 借鑑C/C++文件的makefile,我寫成 erlc a.erl  -o target. 發現生成的文件一直在當前目錄,而並不是在target目錄,奇了怪了,erlc -help一看, 也是-o 表示指定目錄啊,想不通,後來寫成 erlc -o target a.erl 就正確了。

2. erlang程序啓動或運行出錯時,出現了init_boot類似字樣, 這種情況一般都是erlang內建函數名寫錯,或者函數的元數(參數個數寫錯),或者模塊名沒有導入。

3.  這個問題我到現在還沒有弄明白,erlang中的箭頭作用到底是什麼。我一開始我認爲箭頭類似函數開始的標誌, 所以我開始一律這種格式命名函數 " xxx() -> ", 後來,當函數中第一條語句是when斷言時,這種格式就報錯了,這時箭頭只能寫在when的後面。      

4. 在makefile文件中啓動erlang應用程序總是報錯, 感覺應該是make進程和erlang shell進程環境變量不一致造成的。

5. 啓動或運行erlang程序出錯時, 出現了undefined字樣, 這類一般也是數名寫錯,或者函數的元數(參數個數寫錯),或者模塊名沒有導入。

6. spawn() 這個函數最開始總是寫錯參數類型, 該函數常被調用的方式有兩種,一是官方推薦的 spwan(Module, Function, [Args], 另一種就是 spawn(fun), 注意這個參數是個fun類型,而不是函數名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章