On Fri, 25 Feb 2011 14:34:35 -0500, Andrej Mitrovic
<[email protected]> wrote:
Can this be simplified?:
byte[] arr = to!(byte[])(array(iota(byte.min, byte.max+1)));
The +1 turns byte.max into an int that can store 128. So when I call
array on an iota, I'll get back an int[] of [-128, ..., 127]. And I
have to convert that to a byte[].
This is a good puzzle. You may have to do something with map and casting,
but I don't see how it can be done with iota without a cast.
The right thing to do would be this:
for(byte i = -127; i < byte.max + 1; i++)
arr ~= i;
which does everything as a byte, but does the comparisons as ints.
But I don't know how to make iota do this.
-Steve