[erlang-questions] How to avoid copying code?

attila.rajmund.nohl <>
Fri Nov 24 18:24:48 CET 2006


Hello!

I have a couple of modules (20-30) which define the same macros, like
this:
module1.erl:
-define(FOO, "something1").
-define(BAR, "else1").

module2.erl:
-define(FOO, "something2").
-define(BAR, "similar2").

And I also have a function in these modules that return the data of
these macros:

get_data() ->
 	{?FOO, ?BAR}.

Obviously this function definition is exactly the same in all 20-30
modules, which I don't really like. Is there a way to define this
function only once? In Java I'd create an abstract ancestor class for
module1 and module2, declare the FOO and BAR variables there, also
implement the get_data() in the ancestor class and assign values to FOO
and BAR in the constructor of module1 and module2 (there is only one
instance of module1, etc. classes in the program).

 				Bye,NAR
-- 
"Beware of bugs in the above code; I have only proved it correct, not
  tried it."



More information about the erlang-questions mailing list