Hi,
I have a class Ground which defines some playground constants (at least constant to the class):
class Ground
{
immutable WALL = -2;
immutable playgroundWidth = 77;
immutable playgroundHeight = 22;
...
}
Now, in another class "Player", I would like to use those playground constants:
import ground;
class Player
{
this()
{
x = Ground::playgroundWidth/2;
y = Ground::playgroundHeight/2;
}
...
}
I used the "::" notation as a reference to C++, but obviously here it does not compile:
|Error: need this
for playgroundWidth
of type immutable(int)
|
A class must have a "new" initialization in dlang, alright. But then I replaced immutable by enum in the playgroundWidth declaration, and it compiles fine with:
enumplaygroundWidth = 77;
...
x = Ground.playgroundWidth/2;
My question is : Is enum declaration the right way to go? Or did I just find a trick around the problem? Could not find anything in the documentation. Why enum works and immutable does not?
thanks