On Thursday, February 09, 2012 22:42:17 Oliver Plow wrote: > Thanks for the answer. This means that all classes belonging to the same > module must be in the same *.d file? I mean not one *.d file per class as > in most languages?
There is no connection between modules and classes other than the fact that they have to go into modules (like all code in D does). You could have 1000 public classes in the same module if you wanted to (though obviously that would be a maintenance nightmare). structs, classes, and free functions can all mix in a single module, and the module's name can be anything you want as long as it's a valid symbol name. It doesn't have to match any of the symbol names within tho module. And I'd dispute the "most languages" bit. The only languages that I'm aware of which make such a connection are Java and C#, and I'm not even sure that C# is that strict about it (it's been a while since I programmed in C#). I believe that the "one public class per file" requirement is something that Java introduced and which is not common among programming languages in general. - Jonathan M Davis