www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Preliminary submission - std.rational and std.typelist

On Sun, Oct 07, 2012 at 01:15:50PM +0400, Dmitry Olshansky wrote:
 Just define method with this signature:
 void toString(scope void delegate(const(char)[]) sink)
 And bingo! It's used in all of formatting stuff like write(f)(ln),
 format, formattedWrite etc.
 e.g. before posting I played with this:
 import std.stdio, std.format;
 struct A{
 	int k;
 	void toString(scope void delegate(const(char)[]) sink)
 		formattedWrite(sink, "[%d]", k);
 void main(){
 	A a = A(90);

+1. This is much more powerful and useful, not to mention more efficient in many cases (by avoiding the need to create multiple string buffers), than the current toString(). I like this. T -- We are in class, we are supposed to be learning, we have a teacher... Is it too much that I expect him to teach me??? -- RL
Oct 08 2012