随笔分类 -  Erlang

摘要:将函数作为参数一个定义的例子-module(hhfuns).-compile(export_all). one() -> 1.two() -> 2. add(X,Y) -> X() + Y().使用1> c(hhfuns).{ok, hhfuns}2> hhfuns:add(one,two).** ... 阅读全文

posted @ 2015-11-27 20:38 神气小宇 阅读(147) 评论(0) 推荐(0)

摘要:介绍一般函数式编程语言都没有循环,而是使用递归来实现。一个求阶乘的递归函数:-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 神气小宇 阅读(153) 评论(0) 推荐(0)

摘要:动态强类型在运行时捕捉所有错误。多数语言的目标是做到没有错误,而Erlang假设错误会发生因此要覆盖所有错误。强类型,不会进行隐式的类型转换。类型转换使用erlang模块的内建函数 1> erlang:list_to_integer("54").542> erlang:integer_to_lis... 阅读全文

posted @ 2015-11-26 11:09 神气小宇 阅读(182) 评论(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 神气小宇 阅读(165) 评论(0) 推荐(0)

摘要:模块概述模块是某类函数的集合,放置在同一个文件中。Erlang中所有函数都必须定义在模块中。erlang是一个特殊的模块,它会被自动导入。访问模块中的函数的语法为:模块:函数(参数)模块声明编写模块时,声明了两类东西:函数、属性。属性是模块的元数据。描述模块名称、暴露的函数、作者名字等。属性的声明语... 阅读全文

posted @ 2015-11-26 01:13 神气小宇 阅读(177) 评论(0) 推荐(0)

摘要:数字四则运算1> 2 + 15.172> 49 * 100.49003> 1892 - 1472.4204> 5 / 2.2.55> 5 div 2.26> 5 rem 2.1进制10> 2#101010.4211> 8#0677.44712> 16#AE.174变量值不可改变首字母必须大写_或_开... 阅读全文

posted @ 2015-11-25 15:04 神气小宇 阅读(150) 评论(0) 推荐(0)

摘要:LYSE = Learn Yourself Some ErlangErlang是函数式编程语言与C++一个很大的差别,是变量的值不能改变如果我们写 x = 1 x = 2因此有1 =2,无意义当一个函数的参数不变时,总是返回相同的值,这是Erlang的引用透明性。基于这个原则,可以把许多... 阅读全文

posted @ 2015-11-25 11:44 神气小宇 阅读(281) 评论(0) 推荐(0)

导航