diff options
author | Marti Bolivar <mbolivar@mit.edu> | 2010-11-29 01:49:26 -0500 |
---|---|---|
committer | Marti Bolivar <mbolivar@mit.edu> | 2010-11-29 01:49:26 -0500 |
commit | ee35f641687d0d3159c15eea5ad80d71efff4f82 (patch) | |
tree | d58e470a42623a1fba3eccbab324a26316d60398 /source/lang/enum.rst | |
parent | d9cbd78e29d42e70bb46641dd43ee0772c8c975f (diff) | |
download | librambutan-ee35f641687d0d3159c15eea5ad80d71efff4f82.tar.gz librambutan-ee35f641687d0d3159c15eea5ad80d71efff4f82.zip |
Finished converting the Arduino docs
Diffstat (limited to 'source/lang/enum.rst')
-rw-r--r-- | source/lang/enum.rst | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/source/lang/enum.rst b/source/lang/enum.rst index 5ecd99c..ba82383 100644 --- a/source/lang/enum.rst +++ b/source/lang/enum.rst @@ -1,8 +1,53 @@ +.. highlight:: cpp + .. _lang-enum: -enum -==== +``enum`` +======== + +The ``enum`` keyword is used to specify an enumeration type. An +enumeration type is a type whose values are taken from a specified, +fixed list of constant values. + +Example +------- + +Here's an example defining an enumeration type called ``weather``, +which has values ``HOT``, ``COMFY``, and ``COLD``:: + + enum weather {HOT, COMFY, COLD}; + +Once you've defined this type, you can create variables of type +``weather``, in the same way you would with an :ref:`int <lang-int>` +or a :ref:`long <lang-long>`:: + + // create a weather variable named theWeather, with value COMFY: + weather theWeather = COMFY; + +Enumeration types are useful within :ref:`switch statements +<lang-switchcase>`. If you know that an argument is of an enumeration +type, you can make ``case`` statements for all of that type's possible +values, so you know you won't miss anything:: + + void describeWeather(weather currentWeather) { + switch(currentWeather) { + case HOT: + SerialUSB.println("it's hot out"); + break; + case COMFY: + SerialUSB.println("it's nice today"); + break; + case COLD: + SerialUSB.println("it's freezing!"); + break; + } + } + +Such a ``switch`` statement would need no :ref:`default +<lang-switchcase-default>`, since we know that ``currentWeather`` must +be either ``HOT``, ``COMFY``, or ``COLD``. -Stub. +See Also +-------- -Reference this from language.rst +- :ref:`lang-switchcase` |