[erlang-questions] Interesting style i haven't seen....

Adriano Bonat adrianob@REDACTED
Fri Oct 30 17:40:08 CET 2009


IIRC this is called parameterized modules :)

On Fri, Oct 30, 2009 at 2:32 PM, Dave Smith <dizzyd@REDACTED> wrote:
> Is this a trick question? I feel like I'm missing something here... :)
>
> If the confusion is re: the use of "new", remember that Erlang has no
> concept of objects or explicit allocation (like that anyways).
>
> D.
>
> On Fri, Oct 30, 2009 at 10:25 AM, Greg Smyth <gsmyth@REDACTED> wrote:
>> A friend just came up with this, and i thought it was pretty
>> interesting(arguments against doing this kind of thing in Erlang
>> aside...) as I'd never seen this type of thing done before...
>>
>> Anyone care to shed some light on why/how this works:-
>>
>> %%
>> -module(dog).
>> -export([new/1, woof/1]).
>>
>> new(Name) -> {dog, Name}.
>>
>> woof(Self) ->
>>  {dog, Name} = Self,
>>  io:format("~p says 'woof!'~n", [Name]).
>> %%
>>
>> % 13> c(dog).
>> % {ok,dog}
>>
>> % 14> Dog = dog:new("Fido").
>> % {dog,"Fido"}
>>
>> % 15> Dog:woof().
>> % "Fido" says 'woof!'
>> % ok
>>
>> Many thanks,
>> Greg
>>
>> ________________________________________________________________
>> erlang-questions mailing list. See http://www.erlang.org/faq.html
>> erlang-questions (at) erlang.org
>>
>>
>
> ________________________________________________________________
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
>
>


More information about the erlang-questions mailing list