我是Erlang的新手。 发现在现有二郎项目如下-module属性声明:Erlang:模块属性
-module(mod_name, [Name, Path, Version]).
是什么意思的第二个参数(名单[名称,路径,版本])在这里?
我还没有在它的Erlang参考中找到任何信息。
我是Erlang的新手。 发现在现有二郎项目如下-module属性声明:Erlang:模块属性
-module(mod_name, [Name, Path, Version]).
是什么意思的第二个参数(名单[名称,路径,版本])在这里?
我还没有在它的Erlang参考中找到任何信息。
这定义了一个参数化的erlang模块 - 你可以用new实例化一个模块,然后在模块中执行代码时访问新的参数。
一个非常简要概述是在这里:
http://myotherpants.com/2009/04/parameterized-modules-in-erlang/
这是一个参数化的模块。这是它的original paper。基本上你可以创建模块绑定特定值到这些变量的实例。您可以初始化一个为:
> Mod = mod_name:new("MyName", "/path", '0.1').
,然后调用其功能为:
> Mod:function(...)
其中模块参数也函数体中可用。
参数化模块还没有正式成为Erlang的一部分,尽管当前的发行版本支持它们。为了安全起见,除了新的,你不应该直接在参数化模块中调用函数。始终使用从新返回的参考。 – rvirding
如果参数化的模块被移除然后不会新的停止工作? – Zubair
这些确实应该在官方正式记录。现在有广泛使用的应用程序(例如Mochiweb)。例如它们在Mochiweb中的使用,请参阅http://code.google.com/p/mochiweb/source/browse/trunk/src/mochiweb_request.erl –