博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
erlang第五天总结
阅读量:2058 次
发布时间:2019-04-29

本文共 611 字,大约阅读时间需要 2 分钟。

1.进程里的变量是私有的,erlang shell本身是一个进程,所以当打开多个erlang shell执行gen_tcp:conncet返回的Socket是相同,而在每一个erlang shell里面多次调用gen_tcp:connect返回的Socket是不同

2.gen_tcp:recv会阻塞,直到收到消息为止。gen_tcp:recv(Socket,N),每次从Socket里读取N个字节,如果N为0,则返回全部字节。一段二进制数据可以分开几段读,比如先读3个字节 gen_tcp:recv(Socket,3),再读5个字节 gen_tcp:recv(Socket,5) ......直到所有数据读完。{active,false}只能用gen_tcp:recv去接收数据。

3.<<Size:4, Data:Size/binary,...>>如果Size是一个已绑定变量,则可以通过模式匹配获得Data的值

4.可通过模式匹配记录字段或者创建新记录的函数,如下

function(#state{status=S,count=C} = X) ->

        X#state{status=start}

5.在if或case里面的变量属于局部变量,如果在if或case外部引用这个变量,编译器会报错,提示这个变量在if或case里面是unsafe,如果真的要用这个变量,可以在if或case里面将这个变量作为返回值绑定给新变量

转载地址:http://nsxlf.baihongyu.com/

你可能感兴趣的文章
google app api相关(商用)
查看>>
linux放音乐cd
查看>>
GridView+存储过程实现'真分页'
查看>>
flask_migrate
查看>>
解决activemq多消费者并发处理
查看>>
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
被废弃的dispatch_get_current_queue
查看>>
什么是ActiveRecord
查看>>