dmd 2.029 release
grauzone
none at example.net
Thu Apr 23 07:08:58 PDT 2009
> Sink is okay, but most my usages belong to one of the two scenarios:
> 1) I need a string representation of an Object - how is Sink useful here? I just want to call obj.toString() and get the result
> 2) I need to print it to stdout, thus I call writeln/Stdout(obj); - Sink is of no use here again.
Needs simple converter code, that safe you from typing trivial stuff
like this:
toString((char[] s) { writeln(s); });
> void toString(Sink sink, string format = null) {
> // what should I do here? How do I avoid allocations? I have to duplicate code anyway
> char[16] buffer;
> buffer = std.string.format(buffer, format, _number);
> sink(buffer);
The idea is to add a format() function that takes sink() for output:
std.string.format(sink, yourformat, _number);
> Besides, why is it called toString(), if it doesn't give me an object's string representation???
Should be called debug_output() or something similar.
More information about the Digitalmars-d-announce
mailing list