summaryrefslogtreecommitdiff
path: root/Examples/d/enum/d2/runme.d
blob: acaec8ae8626c7283a6cf64a1c6bf5ab622172e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module runme;

import std.stdio;
import example;

void main() {
  writeln( "Printing out some enum values:" );
  writeln("  color:");
  writefln("    %s = %s", color.RED, cast(int)color.RED);
  writefln("    %s = %s", color.BLUE, cast(int)color.BLUE);
  writefln("    %s = %s", color.GREEN, cast(int)color.GREEN);

  writeln("\n  Foo.speed:");
  writefln("    Foo.%s = %s", Foo.speed.IMPULSE, cast(int)Foo.speed.IMPULSE);
  writefln("    Foo.%s = %s", Foo.speed.WARP, cast(int)Foo.speed.WARP);
  writefln("    Foo.%s = %s", Foo.speed.LUDICROUS , cast(int)Foo.speed.LUDICROUS);

  writeln("\nTesting use of enums with functions:");
  example.enum_test(color.RED, Foo.speed.IMPULSE);
  example.enum_test(color.BLUE, Foo.speed.WARP);
  example.enum_test(color.GREEN, Foo.speed.LUDICROUS);

  writeln( "\nTesting use of enum with class method:" );
  scope f = new Foo();
  f.enum_test(Foo.speed.IMPULSE);
  f.enum_test(Foo.speed.WARP);
  f.enum_test(Foo.speed.LUDICROUS);
}