On 02/17/2012 08:13 PM, Jonathan M Davis wrote:
On Friday, February 17, 2012 18:50:32 Matt Soucy wrote:
#!/usr/bin/rdmd
import std.stdio;
void main()
{
uint guesses=0, high=100, low=0, guess=50;
char returned;
writef("Please choose a number between %s and %s.\n");
writef("Press enter to begin.",low,high);
readln();
checkLoop:
do {
guess = (high-low)/2+low; // Avoid overflow (shouldn't occur)
writef("Is your number %s? [(y)es, (h)igher, (l)ower] ", guess);
readf("%c",&returned);
readln();
switch(returned) {
case 'y','Y': break checkLoop;
case 'h','H': {low=guess; break;}
case 'l','L': {high=guess; break;}
default: break;
}
} while(++guesses);
writef("I guessed your number in %s moves!\n", guesses);
}


This piece is something I wrote quickly for /r/dailyprogrammer (By the
way, is the person who has been posting D solutions to that on here?)
It's a really simple piece, but it shows %s, breaking from a loop from
inside a switch, etc.

Shouldn't it be dmd and not rdmd in the first line?

- Jonathan M Davis

I chose rdmd because I wanted to demonstrate direct running it directly, not building it that way. Out of curiosity, though, is there a specific reason why I should have used dmd instead? Without switches, that would just build it...
Thank you,
-Matt Soucy

Reply via email to