erlang精要(22)-归集器、记录
生活随笔
收集整理的這篇文章主要介紹了
erlang精要(22)-归集器、记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-module(learnerl).
-export([odds_and_evens/1]).
%程序:劉興
%https://aipro.blog.csdn.net/odds_and_evens(L)->odds_and_evens_acc(L,[],[]).odds_and_evens_acc([H|T],Odds,Evens)->case (H rem 2) of1->odds_and_evens_acc(T,[H|Odds],Evens);0->odds_and_evens_acc(T,Odds,[H|Evens])end;
odds_and_evens_acc([],Odds,Events)->{lists:reverse(Odds),lists:reverse(Events)}.
一次掃描完成奇數和偶數的分別提取。
下面演示記錄
記錄匹配
72> c(learnerl). {ok,learnerl} 73> Stdlst2=learnerl:init_std(). [#student{name = [24352,19977],age = 28,class = [35745,31639,26426,19982,25216,26415,49,29677]},#student{name = [26446,22235],age = 25,class = [35745,31639,26426,19982,25216,26415,50,29677]},#student{name = [29579,20116],age = 29,class = [35745,31639,26426,19982,25216,26415,50,29677]},#student{name = "Steven",age = 29,class = [35745,31639,26426,19982,25216,26415,50,29677]},#student{name = [24352,21326],age = 23,class = [35745,31639,26426,19982,25216,26415,49,29677]}] 74> learnerl:get_student(Stdlst1,25). [{[24352,19977],28,[35745,31639,26426,19982,25216,26415,49,29677]},{[26446,22235],25,[35745,31639,26426,19982,25216,26415,50,29677]},{[29579,20116],29,[35745,31639,26426,19982,25216,26415,50,29677]},{"Steven",29,[35745,31639,26426,19982,25216,26415,50,29677]}] 75> learnerl:get_student(Stdlst1,28). [{[24352,19977],28,[35745,31639,26426,19982,25216,26415,49,29677]},{[29579,20116],29,[35745,31639,26426,19982,25216,26415,50,29677]},{"Steven",29,[35745,31639,26426,19982,25216,26415,50,29677]}] 76> learnerl:get_student(Stdlst1,23). [{[24352,19977],28,[35745,31639,26426,19982,25216,26415,49,29677]},{[26446,22235],25,[35745,31639,26426,19982,25216,26415,50,29677]},{[29579,20116],29,[35745,31639,26426,19982,25216,26415,50,29677]},{"Steven",29,[35745,31639,26426,19982,25216,26415,50,29677]},{[24352,21326],23,[35745,31639,26426,19982,25216,26415,49,29677]}] 77> -module(learnerl). -export([get_student/2,init_std/0]). %程序:劉興 %https://aipro.blog.csdn.net/ -record(student,{name=undefined,age=undefined,class=undefined}).init_std()->St1=#student{name="張三",age=28,class="計算機與技術1班"},St2=#student{name="李四",age=25,class="計算機與技術2班"},St3=St2#student{name="王五",age=29},St4=St2#student{name="Steven",age=29},St5=#student{name="張華",age=23,class="計算機與技術1班"},[St1,St2,St3,St4,St5].get_student(StdLst,GetAge) ->[{Name,Age,Class}||#student{name=Name,age=Age,class=Class}<-StdLst,Age >= GetAge].總結
以上是生活随笔為你收集整理的erlang精要(22)-归集器、记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业用微型计算机(27)-dos和BIO
- 下一篇: 如何将Springboot项目成功部署到