在模块中,描述一个模块的属性的语法是
-XXX()
,用来定义该模块的一些属性。比如-module(xxx)
预定义的模块属性
-module(modname)
声明模块,modname
必须是个原子,应当为保存在名为 modname.erl 的文件中。如果不这么做,自动加载代码就不能正常工作-import(modname, [fun/argNum, fun/argNum...])
声明引入的模块的函数,当模块的函数被引入后,调用该函数的时候,不需要指定模块名,比如:-import(lists, [map/2]). f(L) -> L1 = map(fun(X) -> 2 * X end, L), %% 不需要指定模块名 list:sum(L1). %% 需要指定模块名
-export(funName/argNum)
导出当前模块的指定函数,只有被导出的函数,才可以从外部调用-compile(Options)
定义编译脚本的特殊属性,具体Options
参数可以通过官方文档查询-vsn(Version)
指定版本号,Version
可以是任何字面数据类型,用于分析程序或作为说明文档使用
用户自定义的模块属性
语法:
-tag(Value)
-demoDesc("123").
查看模块的属性
可以在shell中,通过
module:module_info()
查看