Sudoku Py / C++11 / D?
bearophile
bearophileHUGS at lycos.com
Fri Aug 24 17:02:46 PDT 2012
maarten van damme:
> Is there a special reason I should use them in little programs
> like these?
In my experience small programs contain lot of the issues and
ideas contained in large programs. Using things like "pure" and
"const/immutable" helps avoid/catch some bugs even in small
programs.
Generally try to make your code as strong as possible, to avoid
chances of introducing bugs.
> I'm not all that familiar with __gshared, why does it increase
> performance?
That implements global variables as in C. Take a look at the D
docs, about thread-local memory, etc.
> Would performance increase be noticeable? I guess not.
In your code I have seen performance increase replacing ubyte[]
with bool[].
> (using contracts is really something I should start doing...)
Yep. It's a matter of self-training.
> I should also add a little check to see if every value I put is
> indeed numerical.
That's very easy to do:
if (args[1].length != size || args[1].countchars("0-9") !=
args[1].length) {
writeln("A sudoku is 81 0-9 digits, not ",
args[1].length, " digits");
return;
}
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list