[erlang-questions] Noob question about records
Larry White
ljw1001@REDACTED
Sun Apr 26 03:36:17 CEST 2009
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090425/37cad357/attachment.htm>
More information about the erlang-questions
mailing list