On 2013-12-31 07:01, Afshin wrote:
Is it possible to describe modules in terms of packages (as found in Java)?

The features that Java packages have that I can't seem to get in D are:
1) You can have classes that are in the same package, but kept in
separate files.

See below.

2) You can import many classes using the '*' syntax.

You cannot do that in D. You can do something similar as described here:

http://forum.dlang.org/thread/garueoxkjjqgqpqqh...@forum.dlang.org#post-sdueirvfgsxjtahmapla:40forum.dlang.org

Is this possible in D?

What I understand is that if I have ClassA and ClassB in Module1, and I
want to keep the classes in separate files, then I have to use the
following module statements:

in ClassA:
module Module1.ClassA;

in ClassB:
module Module1.ClassB;

But now it becomes cumbersome to use the classes because now I have to
import them explicitely:

import Module1.ClassA;
import Module1.ClassB;

Yes, that's how it works in D. That's because in Java there's a one-to-one mapping of classes and files. In D you can have many classes (or other declarations) in the same file. I suggest you use this approach.

If I wanted to use:
import Module1;

Then it seems I have to have ClassA and ClassB in the same D file.

Am I missing something?


--
/Jacob Carlborg

Reply via email to