Erlang模块与Erlang程序的运行方法
来源:互联网 发布:大数据技术经典书籍 编辑:程序博客网 时间:2024/06/04 18:13
一、模块与程序文件
Erlang是一种函数式编程语言,当我们要完成一个项目时,总不可能把所有的函数都定义在一个程序文件中,为了开发和维护方便,通常按逻辑功能划分将其分别分散在多个程序文件中。
每个Erlang程序文件就是一个模块,文件名的扩展名部分为.erl,模块的名称必须与文件名称中的主文件名完全相同(不包括扩展名.erl)。
在Erlang程序文件中,用以下模块指令来命名模块,其形式如下:
-module(mname).
我们并不希望一个Erlang模块中的所有函数可以在模块外部随意调用,因为有的函数是不允许或不需要从模块外调用,所以模块中的函数在外部是不能随意调用的,只有在模块中被导出的函数才可以在外部被调用,导入指令形式如下:
-export([hw/0,...]).
其中,[hw/0]为所有被导出函数的列表,导出时用函数名和参数个数作为导出函数的依据,中间用“/”分隔。
然而,在模块的调试阶段,为了方便测试模块内部的函数功能,用export一个个导出又比较麻烦,这时可以使用模块指令compile一次导出所有函数:
-compile(export_all).
以下为一个简单程序文件(模块):
%filename: hw.erl-module(hw).-export([start/0]).-compile(export_all).start() -> io:format("Hello World!~n").
二、Erlang程序文件运行Erlang程序的运行一般需要两个步骤,即编译和运行。通过编译生成与程序文件的主文件名相同而扩展名为.beam的文件,然后就可以运行了。要运行Erlang程序,可以在Erlang的交互式命令行下或直接在命令行下编译后运行。
1.在交互式环境下编译与运行,其过程如下图:
注:
命令行1中调用cd()函数,切换当前目录至源程序的目录下。
命令行2中调用c()函数,对hw.erl文件进行编译。(此处出现了导出所有函数的警告)
命令行3中通过hw:start()调用了程序中的函数,显示出了程序的运行结果。
2.直接在命令提示符下编译和运行Erlang的程序文件
注:
命令行1使用erlc命令对程序文件进行编译,显示的警告信息和交互模式下相同。
命令行2使用erl命令来调用模块中的函数运行程序。其参数-noshell指示不启动交互式环境;-s hw start表示调用hw模块中的start函数;-s init stop是通过调用函数退出erlang运行环境。
- Erlang模块与Erlang程序的运行方法
- 运行Erlang的程序
- Erlang:第一个Erlang程序,模块,函数
- erlang程序运行的几种方式
- erlang的dict模块函数方法介绍
- erlang的dict模块函数方法介绍
- Erlang 的 dict 模块函数方法介绍
- Erlang的常驻模块与功能模块
- erlang的string模块
- erlang的string模块
- erlang的string模块
- erlang的re模块
- erlang的程序打包
- erlang 程序的 批处理文件
- [Erlang]erlang与php的通信
- [Erlang]Erlang与C的节点通信
- 新版openssl与erlang crypto模块冲突的解决办法
- mac系统,macports安装时,调试erlang程序时,erlang的源码查找的方法
- 51Nod 1046 A^B Mod C
- JMeter分布式测试中踩过的那些坑
- ARM汇编3
- 懒人读算法(七)-旋转矩阵
- vue + elementjs + tab
- Erlang模块与Erlang程序的运行方法
- JMeter学习(十三)分布式部署
- Vue报错笔记(3):[Vue warn]: Failed to resolve directive: mod (found in <ComponentA>)
- 深入浅出ActiveMQ(二)--ActiveMQ简单介绍以及安装
- ffmpeg概念总结
- Logistic回归基础篇之梯度上升算法
- Rcv加头加尾加下拉刷新以及加载更多封装介绍(附源码)
- L
- python以及C++对字符串排序的区别