// whileloop.d
// while..loop and do..while examples in D
// To Compile: C:\dmd\MKoD_ex>..\bin\dmd whileloop.d
private import std.stdio ;
int main( )
{
int ix = 0 ;
writefln( "while..loop 1 to 10 (is using main's ix, which equal 0)" ) ;
while ( ix < 10 )
writefln( " ix=%d" , ++ ix ) ; //pre-addition happens before it's printed
writefln( ) ;
writefln( "while..loop 10 to 1 (is using main's ix, which now equals 10)" ) ;
while ( ix > 1 )
writefln( " ix=%d" , -- ix ) ; //pre-subraction happens before it's printed
writefln( ) ;
ix = 0 ;
writefln( "do..while loop, 1 to 10 step by 2" ) ;
do
{
ix += 2 ;
writefln( " ix=%d" , ix ) ;
} while ( ix < 10 )
writefln( ) ;
ix = 0 ;
writefln( "forever while..loop, that breaks out on 10" ) ;
while ( true )
{
ix++;
writefln( " ix=%d" , ix ) ;
if ( ix == 10 ) break ;
}
return 0 ;
} // end int main()
Ly8gd2hpbGVsb29wLmQKLy8gd2hpbGUuLmxvb3AgYW5kIGRvLi53aGlsZSBleGFtcGxlcyBpbiBECi8vIFRvIENvbXBpbGU6IEM6XGRtZFxNS29EX2V4Pi4uXGJpblxkbWQgd2hpbGVsb29wLmQKcHJpdmF0ZSBpbXBvcnQgc3RkLnN0ZGlvOwoKaW50IG1haW4oKQp7CiAgICBpbnQgaXggPSAwOwogICAgCiAgICB3cml0ZWZsbiggIndoaWxlLi5sb29wIDEgdG8gMTAgKGlzIHVzaW5nIG1haW4ncyBpeCwgd2hpY2ggZXF1YWwgMCkiICk7CiAgICB3aGlsZSAoIGl4IDwgMTAgKQogICAgICAgIHdyaXRlZmxuKCAiIGl4PSVkIiwgKytpeCApOyAvL3ByZS1hZGRpdGlvbiBoYXBwZW5zIGJlZm9yZSBpdCdzIHByaW50ZWQKICAgICAgICAKICAgIHdyaXRlZmxuKCk7CiAgICAKICAgIHdyaXRlZmxuKCAid2hpbGUuLmxvb3AgMTAgdG8gMSAoaXMgdXNpbmcgbWFpbidzIGl4LCB3aGljaCBub3cgZXF1YWxzIDEwKSIgKTsgICAgCiAgICB3aGlsZSAoIGl4ID4gMSApCiAgICAgICAgd3JpdGVmbG4oICIgaXg9JWQiLCAtLWl4ICk7IC8vcHJlLXN1YnJhY3Rpb24gaGFwcGVucyBiZWZvcmUgaXQncyBwcmludGVkCgogICAgd3JpdGVmbG4oKTsKIAogICAgaXggPSAwOwogICAgd3JpdGVmbG4oICJkby4ud2hpbGUgbG9vcCwgMSB0byAxMCBzdGVwIGJ5IDIiICk7ICAgIAogICAgZG8KICAgIHsKICAgICAgICBpeCArPSAyOwogICAgICAgIHdyaXRlZmxuKCAiIGl4PSVkIiwgaXggKTsKICAgICAgICAKICAgIH0gd2hpbGUgKCBpeCA8IDEwICkKICAgIAogICAgd3JpdGVmbG4oKTsKICAgCiAgICBpeCA9IDA7CiAgICB3cml0ZWZsbiggImZvcmV2ZXIgd2hpbGUuLmxvb3AsIHRoYXQgYnJlYWtzIG91dCBvbiAxMCIgKTsgIAogICAgd2hpbGUgKCB0cnVlICkKICAgIHsKICAgICAgICBpeCsrOwogICAgICAgIHdyaXRlZmxuKCAiIGl4PSVkIiwgaXggKTsKICAgICAgICBpZiAoIGl4ID09IDEwICkgYnJlYWs7CiAgICB9CiAgICAgICAgICAgIAogICAgcmV0dXJuIDA7CiAgICAKfSAvLyBlbmQgaW50IG1haW4oKQ==
compilation info
/usr/lib/dmd2/src/phobos/std/stdio.d(578): Error: tuple index 0 exceeds 0
/usr/lib/dmd2/src/phobos/std/stdio.d(578): Error: static assert (isSomeString!(int)) is not evaluatable at compile time
/usr/lib/dmd2/src/phobos/std/stdio.d(580): Error: template std.format.formattedWrite(Writer,F,A...) does not match any function template declaration
/usr/lib/dmd2/src/phobos/std/stdio.d(580): Error: template std.format.formattedWrite(Writer,F,A...) cannot deduce template function from argument types !()(LockingTextWriter)
stdout