[erlang-questions] Noob question about records
Michael McDaniel
erlangy@REDACTED
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
> erlang-questions@REDACTED
> 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