我是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 –