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.

Reply via email to