[erlang-questions] Noob question about records

Larry White <>
Sun Apr 26 03:45:07 CEST 2009


doh. thanks.

On Sat, Apr 25, 2009 at 9:42 PM, Paul Fisher <> wrote:

> Nothing to do with records. You need commas at the end of statements
> within the function, and period on last statement.
>
> --
> paul
>
> On Apr 25, 2009, at 8:35 PM, "Larry White" <> wrote:
>
> > I'm on my second day of erlang and getting a compiler error while
> > experimenting with Records. Could someone steer me right?
> >
> > -module(money).
> > -export([add/2]).
> >
> > -record(money, { currency = usd, amount = 0 }).
> >
> > add(Money1, Money2) ->
> >        #money{currency=Cur1, amount=Amt1} = Money1.
> >        #money{currency=Cur2, amount=Amt2} = Money2.
> >        %% TODO: Check to see that the currencies are the same and
> > throw
> > exception if not
> >        Total = Amt1 + Amt2.
> >        #money{currency=Cur1,amount=
> > Total}.
> >
> > The error I get is:
> > ./money.erl:9: syntax error before: '#'
> > ./money.erl:11: syntax error before: Total
> > ./money.erl:12: syntax error before: '#'
> >
> > The statement " #money{currency=Cur1, amount=Amt1} = Money1." seems to
> > work fine from the command line.
> >
> > Also, I tried a number of variants: using a guard for example in the
> > function header, but couldn't figure out the right syntax for two
> > guards : when record(Money1, money) ...?... (Money2, money).
> >
> > Also I tried using C1 = Money1#money.currency.  - but the next line
> > caused a syntax error.
> >
> > Finally, apologies if this gets double posted. I sent one about 6
> > hours ago but i don't think my subscription was active then.
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://www.erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090425/e7ade35c/attachment.html>


More information about the erlang-questions mailing list