
erlang
你采不起的野花
持之以恒 格物致知
展开
-
【erlang】解决一个私信问题,用递归求一个奇偶分支表达式
粉丝私信来问一个问题,同意后不让放图,手写一遍贴上来。Given a positive integer N, compute the following sum:When N is odd:N2−(N−1)2+(N−2)2−(N−3)2+…+32−22+12 N^2-(N-1)^2+(N-2)^2 -(N-3)^2+…+3^2-2^2+1^2N2−(N−1)2+(N−2)2−(N−3)2+…+32−22+12When N is even:N2−(N−1)2+(N−2)2−(N−3)2+…−32原创 2022-04-23 17:35:12 · 799 阅读 · 3 评论 -
[erlang] 一个时间复杂度为O(n)的取列表随机N元素算法
一个时间复杂度为O(n)的取列表随机N元素算法原创 2022-03-27 20:17:15 · 556 阅读 · 3 评论 -
【erlang】 http get post
erlang http get post原创 2021-11-18 12:38:56 · 390 阅读 · 0 评论 -
【erlang】 size和tuple_size
偶然看到同事写了这个tuple_size,以前都是用size,也没当回事,跑去查文档发现还是有区别,tuple_size/1Returns an integer which is the number of elements in Tuple.> tuple_size({morni, mulle, bwange}).3Allowed in guard tests.size/1Returns an integer which is the size of the argume原创 2021-09-14 12:15:29 · 806 阅读 · 0 评论 -
【erlang】吃螃蟹 rust 开发 erlang nif 的正确方式 rustler
使用rust开发erlang nif,使用rustler开发erlang的nif原创 2021-06-30 16:40:49 · 1369 阅读 · 0 评论 -
【erlang】一个轻量级的结果匹配
%% ----------------------------------------------------%% @doc%% 不适用于lists:keyfind/3的情况下,一个轻量级的结果匹配%% 匹配k返回v 无则返回none%% match_kv(3,[1,2,3,4,5]) -> 4%% 1,2,3,4,5 分别是k1=1,v1=2,k2=3,v2=4,不符合则返回默认值5%% 3 匹配上了k2 所以返回v2%%%% mat.原创 2021-03-25 12:19:25 · 132 阅读 · 0 评论 -
【erlang】语法面试题 (持续补充)
【列表构造】1.已知模块t有如下方法t(L, {b, B}) -> [{A, B} || {A, {b, B}} <- L].shell: t:t([{1,{b,2}},{2,{b,3}},{3,{b,3}},{4,{b,3}}],{b,3}).问: 请写出返回值2.已知模块t有如下方法t(L, {b, B}) -> [{A, B} || {A, {b, B}} <- L,B =:= B].shell: t:t([{1,{b,2}.原创 2021-03-24 19:13:03 · 593 阅读 · 0 评论 -
gen_event 练习
大概就是java的消息管理器吧相关资料建议查官方比较好,翻了几篇博文都有错误。http://erlang.org/doc/man/gen_event.html首先新建一个世界消息源,也就是上帝视角的我们,用来控制发送消息。world_console.erl-module(world_console).-vsn(1).%% API-export([start/0, stop/0, log/1, report/1, release/1, add_handler/1, whic.原创 2021-03-24 13:42:24 · 169 阅读 · 0 评论 -
gen_statem 练习
这玩意比gen_fsm好用的多,不错!用gen_statem完成gen_fsm一样的功能,代码少了不少。原创 2021-03-23 20:26:13 · 581 阅读 · 0 评论 -
gen_fsm 练习
最近学习四大行为模式,跟着网上照葫芦画瓢,其中过程挺有意思的。练习目标:一个上锁的密码门,密码输错三次则锁定5秒,强行输入则状态锁死,输入正确密码则打开门%%%-------------------------------------------------------------------%%% @author %%% @copyright (C) 2020%%% @doc%%% %%% @end %%% Created : 2021/3/23-16-57%%..原创 2021-03-23 19:31:36 · 258 阅读 · 0 评论 -
aoi 九宫格 灯塔 区别
缘缘的问题:有个我一直没想明白的问题,就是假如按照九宫格来作为玩家的视野范围的话,那在玩家人数填满视野,而且屏幕显示的区域大于了玩家的视野区域的话,玩家看到的现象不就是自己处在一个九宫格的中央吗?和玩家在游戏里面,认为视野应该是一个圆形不一样哦,而且实际上表现出来的还真就是一个圆形的感觉,这是怎么做到的呢。例如我玩的坦克世界,他的视野就是一个圆,出了这个圈,我就看不到对方了对方围着我绕圈圈,我都能看到,但是有个特点就是,我看不到的对方,也能打到他,而且正常触发所有逻辑,除了我看不到十字链表.原创 2021-03-03 18:37:14 · 2407 阅读 · 3 评论 -
【Erlang】优化排查工具
%%%-------------------------------------------------------------------%%% @author cnkizy%%% @copyright (C) 2020%%% @doc%%% VM内部调优排查%%% https://www.cnblogs.com/lulu/p/4149204.html%%% @end %%% Created : 2021/1/23-12-05%%%----------.原创 2021-01-23 14:44:22 · 1477 阅读 · 0 评论 -
【erlang】lists模块循环调用api【map foreach foldl】和 列表构造
lists:map1> lists:map(fun(E) -> E * E end, [1, 2, 3, 4, 5]).[1,4,9,16,25]列表 List 里的每一个元素按从左向右的顺序被函数 Fun 调用,不同的是,每次函数 Fun 执行的结果将保留,并组成一个列表返回。还有一个列表构造技巧写法:[ X*X || X <- [1,2,3,4,5]].[1,4,9,16,25]同样能达到目的,那么来比较一下效率。lists:map和列表构造效率比较:原创 2020-08-19 12:14:36 · 963 阅读 · 0 评论 -
【erlang】==和=:=效率
周五没事瞎吹,讨论==和=:=区别,看他们讨论的热火朝天,我二话不说直接开撸测试一下。-module(t).-export([test/0,timestamp/0]).test()-> [ guess(fun a/1 ),guess(fun b/1 ) ].guess(F)-> Start = timestamp(), F(50000000), timestamp() - Start.a(0) -> 0;a(N) when 1 ==原创 2020-08-14 17:36:55 · 908 阅读 · 0 评论 -
【erlang】上下取整
erlang自带了trunc(截断小数,保留整数)和round(四舍五入)两个方法四舍五入一旦涉及到了精度问题就是个比较模糊的概念,round(5.4999999999999999). 和round(5.499999999999999).所以要避免round原创 2020-08-07 16:25:06 · 694 阅读 · 0 评论 -
【erlang】根据奇数位的概率随机求偶数位 概率列表求随机值
记录一个工作中遇到的小问题,奇数位是概率,偶数位是数值,给一个列表根据概率求数值。%% 根据奇数位的概率随机求偶数位 列表如:[50,3,30,5,20,10]getRange(WeightList) -> %% 求出奇数位总和 WeightSum = sum_odd(WeightList), %% 求随机数 RandNumber = rand:uniform(WeightSum), getRange(RandNumber,WeightList,none原创 2020-07-16 18:58:19 · 298 阅读 · 0 评论 -
【erlang】数组内是否存在某元素、不用api实现
数组内是否存在某元素api方法:lists:memberL = [1,2,3,4,5].%% lists:member 返回 true 或者 falselists:member(2,L).%%结果是true列表推导 [H || H <- L, H == 2 ].其他方法方法一caseofexist([H|T],Ch)-> case H == Ch of true -> true;...原创 2020-07-02 17:16:29 · 545 阅读 · 0 评论 -
【erlang】练习题0001.匿名函数练习
一、匿名函数0.返回2的倍数Double = fun(X) -> X * 2 end.1.求直角三角形斜边长度Hypot = fun(X,Y) -> math:sqrt(X*X + Y*Y) end.2.摄氏度和华氏度转换换算公式:其中:F ——华氏温度 ℃ ——摄氏温度Temperature = fun({f,F}) -> {c,(F - 32) * 5/9}; ({c,C}) -...原创 2020-06-30 14:15:30 · 440 阅读 · 0 评论 -
【erlang】练习题0000.基础递归练习
erlang没有for循环,学习之初非常难受,这怪异的递归写法。做题之前把这段代码牢记在心里,不是死记,要理解。%模块名不重要-module(lib_misc).-export([for/3]).for(Max,Max,F) ->[F(Max)];for(I,Max,F) ->[F(I)|for(I+1,Max,F)].然后再理解标准库的lists模块下的map方法的源代码-module(lists).-export([map/2]).map(_,原创 2020-06-29 23:17:02 · 309 阅读 · 0 评论 -
【erlang】练习题0002.lists模块
1.对列表里每一个数 * 2给出一个列表L = [1,2,3,4].返回[2,4,6,8]做法多样,这里给出lists模块的map函数使用方法学习难点:掌握lists模块map方法。map方法源代码map(_,[]) ->[];map(F,[H|T])->[F(H)|map(F,T)].解决思路:L = [1,2,3,4].lists:map(fun(X) -> 2*X end,L).2.筛除列表里2的倍数的数给出一...原创 2020-06-29 22:45:35 · 300 阅读 · 0 评论 -
【erlang】练习题0003.计算水果价格
给出水果名称返回水果价格,如apple=2,pear=9,自己定义数据结构。现给出一个购买清单,5个苹果,4个梨子,如:[{apple,5},{pear,4}],请用一个total函数计算总价。学习难点:掌握lists模块sum、map方法。掌握3.7.3小节提取列表元素。掌握4.3小节 匿名函数的使用。解决思路:首先定义出数据结构-module(shop).-export([cost/1]).cost(oranges) -> ...原创 2020-06-29 20:40:09 · 605 阅读 · 0 评论 -
【erlang】 40道语法基础练习题
1、将列表中的integer,float,atom转成字符串并合并成一个字个字符串:[1,a,4.9,“sdfds”] 结果:“1a4.9sdfds”(禁用++ – append concat实现)2、得到列表或无组中的指定位的元素 {a,g,c,e} 第1位a [a,g,c,e] 第1位a(禁用erlang lists API实现)3、根据偶数奇数过淲列表或元组中的元素4、便用匿名函数对列表奇数或偶数过滤5、计算数字列表[1,2,3,4,5,6,7,8,9]索引N到M的和6、查询Lis原创 2021-05-22 22:06:58 · 4066 阅读 · 23 评论 -
【C#】日常刷题——youkia
每个人都是单独的世界,每个人都有着一段传奇。在没有维度的电子世界里,0和1组成的一切,都被不确定的云彩所笼罩着,仰望天空,我们一无所获;闭上双眼,用生命与心灵来感受。在愈来愈强的共鸣中,我们知道自己置身于一个真实的世界ps:真是想不到,有机会进这家公司。几年前可一直当个签呢。1.[1,2,3,4,5,6,7,8,9,10]随机重排考察程序基础。实现方式多种多样,可用随机数,可用数组内元素本身做随机值,看各位脑洞了。//C# Solutionint[] array = { 1,2..原创 2020-06-23 19:40:25 · 2050 阅读 · 3 评论