digitalmars.D.learn - version() used in multiple special cases?
- AEon <aeon2001 lycos.de> Mar 31 2005
- AEon <aeon2001 lycos.de> Mar 31 2005
On http://www.dsource.org/tutorials/index.php?show_example=117 I found this interesting example of version() use <code> // By Joey Peters // pass -version=free to dmd version(Free) { version = FeatureA; } else { version = FeatureA; version = FeatureB; } void main() { // every version has this. version(FeatureA) { printf("Hello world!"); } // only the non free has this version(FeatureB) { printf("Deluxe!"); } } </code> I but from reading die above I get the feeling you also ways need to place version + else. What I would be looking for is to be able to do this... ...code... version(debug) { writefln... } ...code... version(debugging2) { writefln... } ...code... and be able to selectively turn those blocks on and off. Would -version=debug compile my code, plus turn on the debug version section, but not the debugging2 section. Dito for -version=debugging2? Could I then group them version(AllDebug) { version = debug; version = debugging2; } else { } I.e. that with -version=AllDebug I could turn on all debugging, and by not defining a -version, no debug code would be in the compile? AEon
Mar 31 2005
AEon wrote:I but from reading the above I get the feeling you always need to place version + else. What I would be looking for is to be able to do this... ....code... version(debug) { writefln... } ....code... version(debugging2) { writefln... } ....code... and be able to selectively turn those blocks on and off. Would -version=debug compile my code, plus turn on the debug version section, but not the debugging2 section. Dito for -version=debugging2?
Just tested this, the above already works as expected (hoped for), i.e. you do not need to define the "default" code in an else{} of version. So far so good.Could I then group them version(AllDebug) { version = debug; version = debugging2; } else { } I.e. that with -version=AllDebug I could turn on all debugging, and by not defining a -version, no debug code would be in the compile?
This does not work though. Is there any way to group all the versions in one new version tag? AEon
Mar 31 2005








AEon <aeon2001 lycos.de>