Erlang的语法,一个陷阱

最近正在用Erlang写MySQL的通信协议,以前用Python实现的一个性能是非常高的,所以这次做系统也想使用这个协议做通信。

写着的时候发现个问题,这里有个bit语法的赋值语句:

BinFC=<<Number:2>>,

本想给变量BinFC赋值为一个binary类型,但是编译时一直提示出错,后来才想起来。符号”=<“在erlang中是小于等于的意思,而这样写就会先识别成一个布尔表达式,然后就出错了。

我的习惯是并不在操作符之间留空格,这次终于被教训了。不过也确实与Erlang这种古怪的风格有关。其他语言中的小于等于都是用”<=”的,偏偏erlang必须要使用”=<“,而且,又有这个binary语法。

唉……,继续写。

Leave a Reply