`

快乐的倒腾之try-catch学习

阅读更多
-module(tryCatch).
-export([generate/1, demo/0]).
generate(1) -> a;
generate(2) -> throw(a);
generate(3) -> exit(a); 
generate(4) -> {'exit', a};
generate(5) -> erlang:error(a).

demo()->
    [catcher(I) || I<-[1,2,3,4,5,6]].
catcher(N)->
	try generate(N) of
	    Val ->
		{N, normal, Val}
        catch
            throw:X ->
	        {N, caught, thrown, X};
	    exit:X  ->
		{N, caught, exited, X};
	    error:X ->
		{N, caught, error, X}
	 end.
    

 

运行结果:

6> tryCatch:demo().
[{1,normal,a},
 {2,caught,thrown,a},
 {3,caught,exited,a},
 {4,normal,{exit,a}},
 {5,caught,error,a},
 {6,caught,error,function_clause}]

 

基偶数列表查找

odds_and_evens(L)->
    Odds=[X || X<-L, (X rem 2)=:=1],
    Evens=[X||X<-L, (X rem 2)=:=0],
    {Odds, Evens}.

odds_and_evens_acc(L)->
    odds_and_evens_acc(L, [], []).
odds_and_evens_acc([H|T], Odds, Evens)->
    case (H rem 2) of
	1->
	    odds_and_evens_acc(T, [H|Odds], Evens);
	0 ->
	    odds_and_evens_acc(T, Odds, [H|Evens])
    end;
odds_and_evens_acc([], Odds, Evens) ->
    {Odds, Evens}.
 

 

运行结果:

51> tryCatch:odds_and_evens([1,5,6,8,4,15,42,43]).
{[1,5,15,43],[6,8,4,42]}
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



  


  
分享到:
评论

相关推荐

    Linux操作系统学习-启动.pdf

    Linux 操作系统学习-启动 Linux 操作系统学习-启动是一篇详细的学习笔记,涵盖了 Linux 操作系统的启动过程、内核结构、模块设计、代码逻辑、算法实现、底层交互、数据处理等多方面的知识点。本文中,作者从 Linux ...

    初中语文文摘生活倒腾国货体验赚美元的感觉

    初中语文文摘生活倒腾国货体验赚美元的感觉

    教务照片倒腾.rar

    自己用Python编写的教务学生照片处理程序。根据excel文件,搜索指定目录下所有身份证或学号命名照片,拷贝到指定目录下,可以重新命名为学号或身份证号;上传教育厅需要。没有找到照片的在excel中标注not found。...

    论文写作学习总结-怎么写应该注意哪些事项全面汇总

    ### 论文写作学习总结-如何撰写及注意事项全面解析 #### 一、了解论文的本质与写作目的 学术论文的本质是对研究工作的系统性总结,并非文学创作。因此,在撰写时需注重简洁明了、突出创新点及结构清晰。明确写作...

    Spark源码倒腾

    《Spark源码探索之旅》 Spark,作为大数据处理领域中的明星框架,因其高效、易用和可扩展性而备受赞誉。Spark源码的探索对于理解其内部工作机制、优化性能以及进行二次开发至关重要。本文将围绕Spark的核心概念和...

    GraphOn GO-Global V4.6

    GraphOn GO-Global的远程应用程序交付(不知道的请百度),毕竟不依赖与rdp协议!...還有4.6服务器安装包 自己亲测安装实施成功 还有GraphOn GO-GlobalV4.6版64位 没上传破解都差不多 实在不懂就放弃吧 给爱倒腾的人!

    魔方高手训练程序(F2L OLL PLL自动复盘)

    正在学习魔方高级公式的赶快了,程序集成了魔方高级公式41+57+21=119个,解决了你为了学习魔方公式倒腾半天也转不到某个公式的原形的烦恼。自动回到某个公式的原形,自动完成公式,仿真图形魔方形象化操作,人性化...

    office2013图标修复工具

    然后倒腾了半天,找到了这个直接修改注册表的办法 【使用方法】 (仅针对win7和Office2013 vol版测试过) 1、“Office 2013 图标修复.reg”注册表文件中的路径根据自己的路径修改后使用。 如我的路径是D:\\Program...

    一起学奥数数学趣题二年级PPT学习教案.pptx

    8升牛奶分成4升两份,通过反复倒腾和计算,训练学生掌握和运用数量之间的关系。 6. **数的组合与分解**:在例5中,48人参加不同人数的活动,问题涉及到数字的组合和分解。通过分析数字特点,找到符合条件的分配方式...

    eclipse 下载地址

    最近,倒腾了下eclipse,发现这些下载资源不会是很好早,现在将我涉及的资源汇总下,供下载,2012年8月7日亲测有效。资源包括: eclipse-SDK-3.3.2-linux-gtk.tar.gz eclipse-SDK-3.6.1-linux-gtk.tar.gz eclipse-...

    mjpg-streamer和jpegsrc库

    自己有倒腾了一阵子了,开始是害怕,不过后面坐的次数多了,也就差不多了吧!还好 先传上来,主要是为了自己以后想再看的时候还在(自己有时候手贱,会清理掉的) 要运行也很简单——我实在PC上面运行的,所以没...

    联想G50-80笔记本如何将自带WIN8系统安装成WIN 7系统

    一台联想G50-80笔记本电脑,可是该笔本安装的初始系统是Win8,使用起来很不熟悉,所以决定安装Win7系统,可是安装了好久就是装不了,倒腾了一段时间。问题终于解决。 首先用PE盘引导进入PE系统,用分区工具disk...

    GD32F4xx单片机-FreeRTOS10.2.0-LWIP2.0.2移植.zip

    用一个星期研究GD32F4系列的单片机,因为公司项目越来越偏向与GD系列的片子,就借着GD32F407的片子,使用LAN8720的PHY芯片移植了最新的FreeRTOS10.2.0系统,顺便移植进了LWIP2.0.2 网络协议,倒腾了一个星期,重要是...

    ESP-flash-download-tool-3.9.2应用程序

    此应用程序为ESP烧录固件应用,解压即用,不与要倒腾python,支持ESP32,ESP8266,ESP8285,ESP32S3,ESP32S2,ESP32C3(合宙的ESP32C3下载需要更改SPI MODE为DIO)

    vueJS简单的点击显示与隐藏的效果【实现代码】

    目前前端框架太多,接触过angular、ember,现在开始倒腾vue 此处用到v-if、v-else、v-show,v-if或让元素不在DOM上,v-show只是改变display:block属性,感觉v-if好 感觉跟适合、 &lt;!DOCTYPE html&gt; &lt;...

    用于人脸识别的NMF分解程序用MATLAB编写的-nmfpack.part11.rar

    资源来自互联网,鄙人倒腾了一天。。。学识所限没能跑起来,分享给大家,愿牛人解决下。 nmfpack.part01.rar nmfpack.part02.rar nmfpack.part03.rar ...

    用于人脸识别的NMF分解程序用MATLAB编写的-nmfpack.part14.rar

    资源来自互联网,鄙人倒腾了一天。。。学识所限没能跑起来,分享给大家,愿牛人解决下。 nmfpack.part01.rar nmfpack.part02.rar nmfpack.part03.rar ...

    用于人脸识别的NMF分解程序用MATLAB编写的-nmfpack.part02.rar

    资源来自互联网,鄙人倒腾了一天。。。学识所限没能跑起来,分享给大家,愿牛人解决下。 nmfpack.part01.rar nmfpack.part02.rar nmfpack.part03.rar ...

    用于人脸识别的NMF分解程序用MATLAB编写的-nmfpack.part13.rar

    资源来自互联网,鄙人倒腾了一天。。。学识所限没能跑起来,分享给大家,愿牛人解决下。 nmfpack.part01.rar nmfpack.part02.rar nmfpack.part03.rar ...

Global site tag (gtag.js) - Google Analytics