Re: compile time configurations
I did something similar a while back. It parsed a .ini that contained default values and created a statically typed runtime parser for the actual .ini file from it. It was fun, to see that you can do that with D. Yes. I use import('filename') to configure my application too. I have config.json, where I store standard application's file paths, options and so on. It's very handy compiler's feature
Re: compile time configurations
Am Wed, 08 Oct 2014 22:34:36 + schrieb Freddy hexagonalsta...@gmail.com: I recently thought of the idea of using string imports for compile time configuration. Something like this --- import std.stdio; import std.conv; import std.range; import std.algorithm; string getVar(string fname,string var)(){ foreach(property;import(fname).splitter('\n')){ auto varname=property[0..property.countUntil(=)]; if(var==varname){ return property[property.countUntil(=)+1..$]; } } assert(0, unable to find property); } enum dimisions=getVar!(shapes,dimisions).to!uint; void main() { writeln(There are ,dimisions, dimisions); } --- Where you add your config dir(that contains shapes) file to dub's stringImportPaths. How do you guys feel about this? Should we use something like json for config files? I did something similar a while back. It parsed a .ini that contained default values and created a statically typed runtime parser for the actual .ini file from it. It was fun, to see that you can do that with D. -- Marco
compile time configurations
I recently thought of the idea of using string imports for compile time configuration. Something like this --- import std.stdio; import std.conv; import std.range; import std.algorithm; string getVar(string fname,string var)(){ foreach(property;import(fname).splitter('\n')){ auto varname=property[0..property.countUntil(=)]; if(var==varname){ return property[property.countUntil(=)+1..$]; } } assert(0, unable to find property); } enum dimisions=getVar!(shapes,dimisions).to!uint; void main() { writeln(There are ,dimisions, dimisions); } --- Where you add your config dir(that contains shapes) file to dub's stringImportPaths. How do you guys feel about this? Should we use something like json for config files?