On Wednesday, 6 April 2016 at 13:59:42 UTC, pineapple wrote:
Is there any way in D to define static methods or members
within an enum's scope, as one might do in Java? It can
sometimes help with code organization. For example, this is
something that coming from Java I'd have expected to be valid
but isn't:
enum SomeEnum{
NORTH, SOUTH, EAST, WEST;
static int examplestaticmethod(in int x){
return x + 2;
}
}
int z = SomeEnum.examplestaticmethod(2);
Java's enums are classes, which is why that works. Nothing in
Java can exist outside of a class. D's enums are like those in C.
They do not define objects, just constant values.