[erlang-questions] Noob question about records

Michael McDaniel <>
Sun Apr 26 03:47:09 CEST 2009


 a dot '.' is a fun terminator ; change the other '.' to be commas ','


On Sat, Apr 25, 2009 at 09:36:17PM -0400, 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

-- 
Michael McDaniel
Portland, Oregon, USA
http://trip.autosys.us
http://autosys.us
http://mmcdaniel.com/erlview




More information about the erlang-questions mailing list