Enumerations: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 82: Line 82:
'''Interpeter:''' [[Perl]]
'''Interpeter:''' [[Perl]]


# Using an array
my @fruits = qw{ apple, banana, cherry };
my @fruits = qw{ apple, banana, cherry };


# Using a hash
my %fruits = ( apple => 0, banana => 1, cherry => 2 );
my %fruits = ( apple => 0, banana => 1, cherry => 2 );



Revision as of 03:24, 23 February 2007

Task
Enumerations
You are encouraged to solve this task according to the task description, using any language you may know.

Create an enumeration of types with and without values.

BASIC

Interpeter: QuickBasic 4.5, PB 7.1

 REM Impossible. Can only be faked with arrays of strings.
 OPTION BASE 1
 DIM SHARED fruitsName$(1 to 3);
 DIM SHARED fruitsVal%( 1 to 3);
 fruitsName$[1] = "apple";
 fruitsName$[2] = "banana";
 fruitsName$[3] = "cherry";
 fruitsVal%[1] = 1;
 fruitsVal%[2] = 2;
 fruitsVal%[3] = 3;

C

Compiler: GCC, MSVC, BCC, Watcom

Libraries: Standard

 enum fruits { apple, banana, cherry };
 enum fruits { apple = 0, banana = 1, cherry = 2 };

C++

Compiler: GCC, Visual C++, BCC, Watcom

 enum fruits { apple, banana, cherry };
 enum fruits { apple = 0, banana = 1, cherry = 2 };

C#

 enum fruits { apple, banana, cherry }
 enum fruits { apple = 0, banana = 1, cherry = 2 }
 enum fruits : int { apple = 0, banana = 1, cherry = 2 }

D

Compiler: DMD,GDC

Forth

Fortran

Java

Java 1.5 only

 enum fruits { apple, banana, cherry }
 enum fruits
 {
   apple(0), banana(1), cherry(2)
   private final int value;
   fruits(int value) { this.value = value; }
   public int value() { return value; }
 }

JScript.NET

 enum fruits { apple, banana, cherry }
 enum fruits { apple = 0, banana = 1, cherry = 2 }

Perl

Interpeter: Perl

 # Using an array
 my @fruits = qw{ apple, banana, cherry };
 # Using a hash
 my %fruits = ( apple => 0, banana => 1, cherry => 2 );

PHP

 enum fruits { apple, banana, cherry };
 enum fruits { apple = 0, banana = 1, cherry = 2 };

Python

Interpeter: Python 2.3, 2.4, 2.5