erlang
文章平均质量分 65
wangyangkobe
这个作者很懒,什么都没留下…
展开
-
erlang练习
4. [1,2,3,...,5] ->[5,...,3,2,1] (not use lists:reverse) reverse(L) -> reverse(L, []).reverse([], Acc) -> Acc;reverse([H|T], Acc) -> reverse(T, [H|Acc]). 方法二:f([H|T]) -> f(T) ++原创 2012-01-06 16:57:39 · 1649 阅读 · 1 评论 -
使用callback实现自定义的erlang行为模式
之前erlang中自定义行为模式,需要导出behaviour_info函数,比如: -module(gen_foo).-export([behaviour_info/1]).behaviour_info(callbacks) -> [{foo, 0}, {bar, 1}, {baz, 2}];behavior_info(_) -> undefined.转载 2013-06-01 19:07:58 · 2222 阅读 · 0 评论 -
Erlang如何查看gen_server内部的状态
方法1、自写个函数,想gen_server发查看的消息。方法2、利用系统现有的架构。sasl应用带了一个si的东西 全名是status inspector, 这个东西就是设计来帮用户解决这个问题的。%%%-------------------------------------------------------------------%%% @author flybird %%% @原创 2013-05-29 14:22:18 · 1872 阅读 · 0 评论 -
Erlang中ets模块中的fun2ms/1。
问题来源:http://stackoverflow.com/questions/16660955/mnesia-check-for-a-value-in-either-of-the-keys-in-the-table/16769468#16769468关于此函数的分析:http://blog.yufeng.info/archives/482#more-482自己的代原创 2013-05-27 16:49:14 · 2971 阅读 · 0 评论 -
Erlang代码性能分析
0、内置函数和运算符的性能1)、++运算符不要放任列表自右侧增长!此外还应该注意++运算符只是lists:append/2的一个别名,这个问题对该函数同样适用。2)、- -运算符- -运算符是lists:substract/2 的别名。这个运算符不常用:它的作用是从左侧列表中删除右侧列表中的元素。如果元素顺序不是很重要,那么更为高效的方法是先排序,再调用ordersets:su原创 2013-05-25 17:12:29 · 2425 阅读 · 0 评论 -
关于gen_tcp:controlling_process函数的使用
网上的文档:http://blog.csdn.net/skyman_2001/article/details/6582938http://erlang-china.org/misc/using-gen_tcp-controlling_process.html对于该函数的理解:最初紧紧知道该函数是将一个Socket和一个进程的Pid绑定在一起,但是对于“发送给这个Socket原创 2013-05-10 15:53:55 · 3758 阅读 · 3 评论 -
Erlang练习:建立文本索引
为文本建立索引是文本信息处理的一个重要的任务,给定一个由英文单词构成的文件,为文件中所有单词建立索引,记录每个单词出现的行号和每行出现的次数,并将索引存入一个文件。-module(text_index).-compile(export_all).-import(re, [run/2,replace/4]).-record(data, {word, line = []}).-d原创 2013-04-04 12:13:45 · 965 阅读 · 0 评论 -
Erlang练习:洗牌算法——将一个序列打乱,类似于Python里面的shuffle函数。
问题的来源:问题描述:假设有一个数组,包含n个元素。现在要重新排列这些元素,要求每个元素被放到任何一个位置的概率都相等(即1/n),并且直接在数组上重排(in place),不要生成新的数组。用 O(n) 时间、O(1) 辅助空间。算法的证明:来计算一下概率。如果某个元素被放入第i(1≤i≤n)个位置,就必须是在前 i - 1 次选取中都没有选到它,并且第 i 次选取是原创 2013-04-04 13:36:30 · 2237 阅读 · 0 评论 -
A small module that jumps between connected node
-module(virus).-export([start/0]).-export([start/1]). start() -> spawn_process(code:get_object_code(?MODULE)).start(Beam) -> spawn_process(Beam). spawn_process(Beam) -> case whereis(?MO原创 2013-01-30 23:04:43 · 662 阅读 · 0 评论 -
erlang中proplist的详解
http://www.cnblogs.com/me-sa/archive/2012/06/15/erlang-proplists.html转载 2013-01-08 16:17:19 · 1304 阅读 · 0 评论 -
erlang实现二叉树
http://blog.chinaunix.net/uid-14812129-id-3052578.html原创 2012-11-09 15:45:08 · 1425 阅读 · 0 评论 -
erlang中socket知识点
Erlang Socketa. 最核心的概念 - socket控制进程b. 基本的C/S结构的例子(服务器只能处理一个客户端连接)c. 顺序型服务器的例子(服务器顺序的处理客户端的请求,每次只能处理一个,处理完一个处 理下一个)d. 并发型服务器的例子(服务器并发的处理多个客户端的请求)e. 控制逻辑 - 主动型消息接收(非阻塞)f. 控制逻辑 - 被动型消息接收(原创 2013-06-18 22:17:20 · 3085 阅读 · 0 评论