Idiom for debug printf?

Bill Baxter dnewsgroup at billbaxter.com
Mon Oct 1 04:29:45 PDT 2007


BCS wrote:
> Reply to Bill,
> 
>> Is there a common idiom for a version-specific printf? Something like:
>>
>> version(Verbose) {
>> alias writefln debugfln;
>> }
>> else {
>> ... what goes here? ...
>> }
>> The idea is that it should work just like a call to writefln in the
>> version=Verbose case, but it should be a complete no-op otherwise
>> (meaning it also shouldn't evaluate its arguments).
>>
>> I thought there was some way to do this with 'lazy' or somesuch, but I
>> don't recall the exact syntax.
>>
>> Thanks,
>> --bb
> 
> I don't bother with switching the function out, I just put each debug 
> line in it's own debug statement.
> 
> my idium of choice is this:
> 
> debug(DebugIdent) writef(__FILE__":("~itoa!(__LINE__)~"): the message to 
> print\n");

Well, I'm not quite so macho, so I'll just stick with the void 
debugfln(...){}, and say my prayers to the deities of optimization.

--bb


More information about the Digitalmars-d-learn mailing list