erlang学习笔记之基础篇(常见问题小结)

来源:互联网 发布:dota2和lol 知乎 编辑:程序博客网 时间:2024/04/28 11:39

由于个人的兴趣,之前自学过一段时间的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类型,而不是函数名。

0 0
原创粉丝点击