erlang
tydhot
gogogo
展开
-
erlang的gb_trees源码解析
Erlang的gb_trees给出了平衡二叉树的实现。 empty()函数给出了一个得到一个空的二叉树的途径。empty() -> {0, nil}.空树作为一个含有两个成员的元组,第一个0则代表树中的元素个数,第二个位置则用来存放根节点。 insert()函数则给出了给二叉树添加节点的途径。insert(Key, Val, {S, T}) when ...原创 2018-08-01 01:00:10 · 892 阅读 · 0 评论 -
erlang的dict源码解析(2)
dict:filter()可以通过传入一个断言作为参数,来对目标dict达到筛选的目的。filter(F, D) -> filter_dict(F, D).filter_dict(F, #dict{size=0} = Dict) when is_function(F, 2) -> Dict;filter_dict(F, D) -> Segs0 = tu...原创 2018-07-17 22:31:05 · 207 阅读 · 0 评论 -
erlang的dict源码解析(1)
Erlang的dict模块功能类似于java的hashmap。 通过dict:new()构建新的dict。new() -> Empty = mk_seg(?seg_size), #dict{empty=Empty,segs={Empty}}.mk_seg(16) -> {[],[],[],[],[],[],[],[],[],[],[],[],[],[]...原创 2018-07-16 23:45:33 · 428 阅读 · 0 评论 -
rabbitmq基于http的认证和授权
关于用户的登录。user_login_authentication(Username, AuthProps) -> case http_req(p(user_path), q([{username, Username}|AuthProps])) of {error, _} = E -> E; deny -> {...原创 2018-03-31 00:10:10 · 4017 阅读 · 0 评论