Delay function?

BCS ao at pathlink.com
Tue Sep 2 13:37:46 PDT 2008


Reply to Brendan,

> Jarrett Billingsley Wrote:
> 
>> On Tue, Sep 2, 2008 at 1:37 PM, Chris R. Miller <
>> lordSaurontheGreat at gmail.com> wrote:
>>> Brendan wrote:
>>> 
>>>> Jarrett Billingsley Wrote:
>>>> 
>>>>> </blockquote></div><br>If you're expecting it to pause after each
>>>>> 
>>> character.. you're missing braces around the body of the for loop,
>>> this isn't Python ;)<br></div>
>>> 
>>>> Oooooh, what a foolish mistake! How could I forget that? Thanks for
>>>> 
>>> pointing it out.
>>> 
>>>> But the result isn't fruitful, though. When I run it, all I get is
>>>> an
>>>> 
>>> empty screen, then after many seconds the whole string is displayed
>>> at once (not to mention I set the sleep time to 0.1 seconds). I'm
>>> probably missing something. Any idea?
>>> 
>>> Flush the output?
>>> 
>> Totally.
>> 
>> foreach(ch; s) { write(ch); fflush(stdout); system("pause 0.2"); }
>> 
> Thanks! With a little quick tweaking it worked. But, even though I see
> the effective result, I don't entirely understand what it means "to
> flush" the output. I've never heard of this concept before and Google
> doesn't seem to return any useful answers. Could you explain?
> 

The act of making the screen show text is rather costly in time, so generally 
libs buffer your output, often until a newline or some preset amount. Flush 
just forces a buffer flush and the resultant output.




More information about the Digitalmars-d-learn mailing list