version(Main) like python's __name__ == "__main__"
Lars Ivar Igesund
larsivar at igesund.net
Wed Nov 21 03:51:51 PST 2007
Lionello Lunesu wrote:
> I'd like to suggest a new predefined version identifier called "Main"
> which is defined on the main module only. The definition of "main
> module" would be:
>
> * the first module on the command line, or
> * the module whose name will be used for the executable, or
> * the module mentioned after DMD's "-run"
>
> The two issues with this suggestion are:
>
> * vagueness of the definition of "main module"
> * Main version identifier is set for one module only (by definition)
>
> It's use would be similar to Python's "__main__" [1]:
>
> version(Main)
> {
> void main()
> {
> // test code
> }
> }
>
> It would allow one to write small examples/tests in each module, that
> can be executed immediately, but won't cause conflicts when linked
> against in a larger project.
>
> L.
>
> [1] http://docs.python.org/lib/module-main.html
We tend to add such simple tests within
debug (ModuleName) {
void main() { blah }
}
then compile with dmd -debug=ModuleName
I find this solution more than easy enough and possibly more flexible? There
may be other usecases where such a Main version identifier would be of
interest though.
--
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
More information about the Digitalmars-d
mailing list