erlang
RunMonster
要么颓废得像坨屎,要么认真得像个疯子!!
展开
-
erlang 顺序编程-记录与映射组03
记录记录其实就是元组的另一种形式。存储与性能特性和元组一样。应用场景:当你可以用一些预先确定且数量固定的原子来表示数据时; 当记录里的元素数量和元素名称不会随时间而改变时; 当存储空间是个问题时,典型的案例是你有一大堆元组,并且每个元组都有相同的结构。 创建--读取--更新//创建-record(todo,{status=reminder,who=joe,text})...原创 2019-07-17 18:24:14 · 131 阅读 · 0 评论 -
erlang 顺序编程-错误处理04
只考虑合法的输入参数,对非法的参数返回值, 而是应该抛出一个异常错误。这条规则被称为“任其崩溃”。异常类型:模式匹配错误 传入错误格式参数 带有错误值的 参数 2/0exit(Why) :想要终止当前进程,用它。没有被捕获,会广播给所有连接的其他进程。throw(Why) :抛出一个调用者可以捕获的异常。error(Why) :系统崩溃try...catch捕获异常...原创 2019-07-18 10:46:05 · 167 阅读 · 0 评论 -
erlang 顺序编程-类型06
定义新的数据类型并给代码添加类型注解。预定义数据类型non_neg_integer() 非负的整数pos_integer()是 一个正整数neg_integer()是一个负整数自定义类型%% 格式T1 :: A | B | C ...%% 定义了一共int类型 表示整数-type int() :: 0,1,-1,2,-2 ......%% 类似枚举的用法...原创 2019-07-19 15:41:42 · 197 阅读 · 0 评论 -
erlang 顺序编程-编译和运行程序07
编译和运行程序Erlang的运行时系统使用一种代码自动载入机制。找到当前的载入路径值。%% shellcode:get_path().添加新路径%% 在开头添加新路径code:add_patha(Dir).%% 在末尾添加新路径code:add_pathz(Dir).加载模块的总列表code:all_loaded().查询出错code:clas...原创 2019-07-19 17:31:52 · 226 阅读 · 0 评论 -
erlang 并发编程-并发01
并发编程erlang纯消息传递式语言特点:创建和销毁进程是非常快速的; 在进程间发送消息是非常快速的; 进程在所有操作系统上都具有相同的行为方式; 可以拥有大量进程; 进程不共享任何内存,是完全独立的; 进程唯一的交互方式就是消息传递。创建新进程%% 通过pid给次线程发消息,Mod模块,Func方法,Args传入参数Pid = spawn(Mod,Fun...原创 2019-07-22 17:40:57 · 157 阅读 · 0 评论 -
erlang 并发编程-分布式02
分布式编程天生分布式的程序优点:性能:不同部分在不同的机器上并行运行来让程序跑得更快。 可靠性:如果一台机器出了故障,可以在另一台机器上继续。 可扩展性:可以通过添加机器提升处理能力。cookie 保护系统每个节点都有一个cookie,如果它想与其他任何节点通信,它的cookie就必须和对方节点的cookie相同。Erlang集群的定义就是一组带有相同cookie的互连...原创 2019-07-22 18:30:30 · 184 阅读 · 0 评论 -
erlang 顺序编程-模块函数02
模块是存放代码的地方模块保存在扩展名为.erl的文件里,编译后生成.beamgeometry.erl-module(geometry).-export([test/0,area/1]).//添加测试代码test() -> 12 = area({rectangle,3,4}), 144 = area(square,12), tests_work...原创 2019-07-16 23:15:49 · 148 阅读 · 0 评论 -
erlang 顺序编程-基础01
1、基础Ctrl+C 输入a 强制退出命令界面,输入q(). 受控关闭 (q()是init:stop()命令在shell 里的别名)erlang:halt(). 立即停止系统X = 20.X + 20. % 百分号后面的全部代表注释//输出 40Erlang可以用任意长度的整数执行整数运算。并且是精准的,不用担心溢出或长度不够。Erlang的变量不会变,...原创 2019-07-16 21:55:49 · 201 阅读 · 0 评论 -
erlang 基本使用及介绍
1、一个简单的并发例子 (halloworld)module 模块名称(类名)、export([start/0]). 外部可以调用start这个函数,没有传入参数、spawn() 开启一个线程调用其他类方法这里就相当于 开启了一个世界,里面有4个人1只狗和一只小白兔在Joe 类里写下面代码,表示Joe发送给Susannah 一句话(self() 代表Joe,当前类)在Sus...原创 2019-07-16 17:28:52 · 1645 阅读 · 0 评论 -
erlang 顺序编程-二进制与位语法05
二进制型erlang 的一种数据结构一种节省空间的方式来保存大批量的原 始数据。必须属于0至255这个范围格式是两端使用大于小于号连接,中间数字如果可以全部转换成字母的ASCII编码,会显示成字母。//<<5,10,20>><<5,10,20>>.//"ABC"<<65,66,67>>...原创 2019-07-18 14:52:24 · 107 阅读 · 0 评论