On Tuesday, 3 December 2013 at 17:49:32 UTC, H. S. Teoh wrote:
On Tue, Dec 03, 2013 at 06:12:20PM +0100, Benji wrote:
Hello,
in order to have correctly displayed output (before reading
something from stdin),
I must call stdout.flush().
Sometimes, it's really annoying, especially when it is necessarry to
call it 10 times.

For example:
write("Enter some string: ");
stdout.flush();
string a = readln();
write("And again please: ");
stdout.flush();
string b = readln();
...

Is there any way to prevent this?

What about:

        void prompt(A...)(string fmt, A args)
        {
                writef(fmt, args);
                stdout.flush();
                return readln();
        }

        auto a = prompt("Enter your name: ");
        auto b = prompt("Enter your age: ").to!int;
        ... // etc.


T

Thanks, I didn't think about that (I'm beginner)

Reply via email to