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

Greg Smyth <>
Fri Oct 30 17:51:18 CET 2009


Looking at your example, I don't think this is parameterised modules
(although that is also interesting, thanks!).

The confusing part (for me at least), is still the section:-

> % 14> Dog = dog:new("Fido").
> % ok
>
> % 15> Dog:woof().
> % "Fido" says 'woof!'

How does Value:function()  - change into

module:function(Value)

when Value = {module, Something}) ?

Cheers,
Greg

On Fri, Oct 30, 2009 at 4:42 PM, Dale Harvey <> wrote:
> The syntax is a bit wrong,
> -module(dog, [Name]).
> -export([woof/1]).
> woof(Self) ->
>  {dog, Name} = Self,
>  io:format("~p says 'woof!'~n", [Name]).
>
> % 13> c(dog).
> % {ok,dog}
>
> % 14> Dog = dog:new("Fido").
> % ok
>
> % 15> Dog:woof().
> % "Fido" says 'woof!'
> % ok
> but erlang does support it, parameterised modules
> http://www.clickcaster.com/channel/tag/modules?channel=diveintoerlang
> 2009/10/30 Dave Smith <>
>>
>> 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 <>
>> 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