Atom
From Erlang Community
| Revision as of 08:24, 2 September 2006 (edit) Rvg (Talk | contribs) ← Previous diff |
Revision as of 08:24, 2 September 2006 (edit) (undo) Rvg (Talk | contribs) Next diff → |
||
| Line 6: | Line 6: | ||
| This would mean that you can declare a variable of type operation. It can only have one of the following values: | This would mean that you can declare a variable of type operation. It can only have one of the following values: | ||
| - | {| border=" | + | {| border="0" cellspacing="1" cellpadding="5" align="left" |
| ! Enumeration | ! Enumeration | ||
| ! Value | ! Value | ||
Revision as of 08:24, 2 September 2006
Most languages, including C, C++ and Pascal/Delphi one could write something like this:
enum operations {ADD, SUBTRACT, MULTIPLY, DIVIDE };
This would mean that you can declare a variable of type operation. It can only have one of the following values:
| Enumeration | Value |
|---|---|
| ADD | 0 |
| SUBTRACT | 1 |
| MULTIPLY | 2 |
| DIVIDE | 3 |
Note that each instance of an operation will have a value of between 0 and 3. This is what makes an enumeration special. It has a value. In reality the compiler only uses the numeric values for constants. You can usually (although I don't encourage it) use the numeric value instead.
In Erlang, an atom is exactly the same - a named constant. It does not have an explicit value, as an enumeration does. You cannot substitute a numeric value for a symbolic one - they are explicitly differnt. The atom ok is different from the atom OK (The one is in lowercase, the other in uppercase).

Digg It
Del.icio.us
Reddit
Facebook
Stumble Upon
Technorati

