2015年11月26日

摘要: 介绍一般函数式编程语言都没有循环,而是使用递归来实现。一个求阶乘的递归函数:-module(recursive).-export([fac/1]). fac(N) when N == 0 -> 1;fac(N) when N > 0 -> N*fac(N-1).利用模式匹配来精简代码:fac(0)... 阅读全文
posted @ 2015-11-26 11:38 神气小宇 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 动态强类型在运行时捕捉所有错误。多数语言的目标是做到没有错误,而Erlang假设错误会发生因此要覆盖所有错误。强类型,不会进行隐式的类型转换。类型转换使用erlang模块的内建函数 1> erlang:list_to_integer("54").542> erlang:integer_to_lis... 阅读全文
posted @ 2015-11-26 11:09 神气小宇 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 模式匹配函数声明可以由函数从句构成。函数从句用";"分隔。几个函数通过模式匹配,实现分支逻辑。greet(male, Name) ->io:format("Hello, Mr. ~s!", [Name]);greet(female, Name) ->io:format("Hello, Mrs. ~s... 阅读全文
posted @ 2015-11-26 10:37 神气小宇 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 模块概述模块是某类函数的集合,放置在同一个文件中。Erlang中所有函数都必须定义在模块中。erlang是一个特殊的模块,它会被自动导入。访问模块中的函数的语法为:模块:函数(参数)模块声明编写模块时,声明了两类东西:函数、属性。属性是模块的元数据。描述模块名称、暴露的函数、作者名字等。属性的声明语... 阅读全文
posted @ 2015-11-26 01:13 神气小宇 阅读(161) 评论(0) 推荐(0) 编辑

导航