Erlang 的 模块
其他
2020-01-19 11:52:15
阅读次数: 0
模块
- 模块是 Erlang 的基本代码单元
- 模块文件的扩展名为.erl
- 必须先编译才能运行模块里的代码
- 编译后的模块以 .beam 作为扩展名
- 首字母小写,模块名与文件名相同。模块名是一个原子(atom)
- 创建模块文件
% 模块文件 geometry.erl
-module(geometry). % 声明 geometry 模块
-export([area/1]). % 导出方法,area 为方法名,/1 表示该方法有一个参数
-import(other, [fn1/1,fn2/2]). % 导入其它文件和方法
% 计算长方形的面积
% 执行 geometry:area({rectangle, 10, 5} 时
% 进行匹配 Width = 10 和 Height = 5
% 匹配成功后 执行 -> 后的代码 Width * Height,即50
% 没有显式的返回语句,用最后一句表达式的值作为返回值
area({rectangle, Width, Height}) -> Width * Height; % 注意分号结尾
% 随时添加支持的图像代码
area({circle, Radius}) -> 3.14159 * Radius * Radius; % 后加的
area({square, Side}) -> Side * Side. % 句号结尾
- 在 Erlang Shell 中 编译并执行模块代码
1> c(geometry).
{ok,geometry}
2> geometry:area({rectangle, 10, 5}).
50
3> geometry:area({square, 3}).
9
- 测试代码(随手,生产环境还是用功能全的测试代码)
-module(geometry).
-export([area/1]).
test() ->
12 = area({rectangle, 3, 4}),
144 = area({square, 12}),
tests_wored.
area({rectangle, Width, Height}) -> Width * Height;
area({square, Side}) -> Side * Side.
发布了33 篇原创文章 ·
获赞 2 ·
访问量 2020
转载自blog.csdn.net/wwwmewww/article/details/102557039