てきとう

てきとう

Parameterized Module

いいかげんに同じことを公式で検索かけるのも嫌なので。結局日記を検索することになる気もするけど
e.g.:

-module(pm_ex, [X,Y]).
-compile(export_all).

foo(Bar)->
    Bar*Y+X.

使い方は、

1> c("pm_ex.erl").
2> M=pm_ex:new(2,3).
{pm_ex,2,3}
3> M:foo(4).
14

2の結果を見ても分かるとおり、pm_ex:new(X,Y)={pm_ex,X,Y}なので、

4> M2={pm_ex,3,4}.
{pm_ex,3,4}
5> M2:foo(5).
23
6> {pm_ex,2,3}:foo(4).
14

なんてことができたり。
まぁ今後も使えるのかは知りませんが。