erlang程序设计(第2版)
文章平均质量分 71
Rxsi
这个作者很懒,什么都没留下…
展开
-
第3章 基本概念
1.Erlang的输入基于shell语法2.输入的变量的首字母必须为大写,如X=20.3.注意,结束时需要使用 .结尾4.同一个符号变量不能重复赋值,如上述已经赋值X=20,若是再次运行X=10,将会报错5.Erlang支持常规的加减乘除运算法6.浮点数计算:1) 5/3. 其结果为1.6666666667,即当你使用/给两个整数做除法时,结果将会自动转换为浮点数,4/2....原创 2018-11-21 10:13:34 · 129 阅读 · 0 评论 -
第4章 模块与函数
1.模块1)在erlang中定义函数,在未编译前后缀名为.erl,编译后后缀名为.beam 2)以geometry.erl模块为例,首先使用pwd(),显示出编译时所在的目录,如本机显示为D:/Erlang/erl7.3/usr ,故在该目录下,新建txt文件并修改后缀名为.erl,并输入内容: -module(geometry).-export([area/1]).area...原创 2018-11-21 11:11:24 · 344 阅读 · 0 评论 -
第5章 记录与映射组
1.创建记录:记录的后缀名为.hrl%%records.hrl:-record(todo,{status=reminder,who=joe,text}).1>rr("records.hrl").2>#todo{}#todo{status = reminder,who = joe,text = undefined} 2.更新记录1>X1=#todo{s...原创 2018-11-21 11:22:33 · 146 阅读 · 0 评论 -
第7章 二进制型与位语法
1.二进制型:以双小于号与双大于号之间的一列整数或字符串,若二进制型里的位数不是8的整数倍,那么就称为位串<<5,10,20>> <<"hello">>2.二进制型操作list_to_binary(L) ->B ,将列表L转换为二进制文件B split_binary(Bin,Pos) ->{Bin1,Bin2} 在Pos处将b...原创 2018-11-21 11:25:05 · 172 阅读 · 0 评论 -
第12章 并发编程
1.基本并发函数1)Pid=spawn(Mod,Func,Args) : 创建一个新的并发进程来执行Mode模块中定义的Func()函数,args为参数 2)Pid ! Message : 像标识符为Pid的进程发送消息Message.消息发送时异步的,发送方并不等待,而是会继续之前的工作, ! 被称为发送操作符 3) receive Pattern1 [when Guard1] -&g...原创 2018-11-21 11:56:07 · 129 阅读 · 0 评论 -
第17章 套接字编程
1.使用TCP从服务器获取数据%%socket_examples.erl-module(socket_examples).-export([nano_get_url/0,nano_get_url/1,receive_data/2]).nano_get_url() -> nano_get_url("www.baidu.com").nano_get_url(Host) ...原创 2018-11-21 12:07:25 · 192 阅读 · 0 评论 -
第19章 用ETS和DETS存储数据
可以用来搞笑存储海量的Erlang数据,提供大型的键值查询表,ETS常驻内存,DETS则常驻磁盘,ETS表查询速度更快,而DETS运行时占用的内存更小1.表的类型保存的是元组,元组里的某一个元素(默认是第一个)被称为该表的键.通过键可以向表里插入和提取元组.分为连个基本的表类型:异键表(set)和同键表(bag);基本表类型有有四种表类型:异键,有序异键,同键,副本同键2.四种基本操作...原创 2018-11-21 13:48:17 · 533 阅读 · 0 评论 -
第22章 OTP介绍
1.简单服务器的架构对于该服务器主要使用的是第12章所用的知识,包括在rpc,loop()中实现对response的绑定,所用到的新知识点是回调函数的应用 %server1.erl-module(server1).-export([start/2,rpc/2]).start(Name,Mod) -> register(Name,spawn(fun()->loop...原创 2018-11-21 14:11:18 · 512 阅读 · 0 评论