On Monday, 13 August 2012 at 08:18:08 UTC, Marco Leise wrote:
Am Mon, 13 Aug 2012 00:53:43 +0200
schrieb "bearophile" <bearophileh...@lycos.com>:
It looks better. But you every time you use a cast in D you
need to be careful, because they are like a sharp tool with
almost no safeties.
Bye,
bearophile
So true. It happens to me sometimes that I cast away const
although I just want to cast a type. It's also a reason I am
not a big fan of considering "cast(ubyte) 0" normal. It is
pragmatic though.
In fact, it would be nice to do something like this:
foreach(ubyte i; 0..256)
writefln("%d", i);
but the code above will generate an error like: 256 cannot be
converted to ubyte!
On the other hand:
foreach(ubyte i; 0..255)
writefln("%d", i);
Works, but only will show numbers from 0..254, without "255"!
So, maybe this is more safer:
foreach(ushort i; 0..ubyte.max+1)
writefln("%d", cast(ubyte)i);
Matheus.