[erlang-questions] Fw: Newbie question

Witold Baryluk <>
Wed Jul 22 13:15:32 CEST 2009

On 07-21 13:35,  wrote:
> > > I don't understand why the {data, Data} pattern isn't receiving the
> > > message.  Can someone help me understand this?
> >
> > It is because Data is already bound to "ABC", so you try to match
> > against {data, "ABC"}.
> >
> So "Data" is still in scope even though the receive ended?  If the receive
> was inside a function, would the scope of "Data" be limited to that
> function?


Shell have somehowe different bounding and scope rules.
Many things works very different in shell (it is generally emulation
of real erlang code).

Similary you can in shell do:

case 1 of
   2 -> Y = two;
   1 -> X = one
X. % this is bounded.

In compiled code, you can only do this if all branches of case have "assigment"
to X.

Just remember to call f() or f(X) in shell.

Witold Baryluk
JID: witold.baryluk // jabster.pl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090722/33f0ace3/attachment.bin>

More information about the erlang-questions mailing list