Thread overview | |||||
---|---|---|---|---|---|
|
December 10, 2008 changing array lengths | ||||
---|---|---|---|---|
| ||||
Does the following totally not make sense? I think it should work. int[] a = new int[10]; a.length += 30; |
December 10, 2008 Re: changing array lengths | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | On Tue, Dec 9, 2008 at 11:54 PM, Ellery Newcomer <ellery-newcomer@utulsa.edu> wrote:
> Does the following totally not make sense? I think it should work.
>
> int[] a = new int[10];
>
> a.length += 30;
>
It's a weird limitation that's been around forever. Ugh.
Here, have this.
T[] resize(T)(ref T[] arr, ptrdiff_t delta)
{
arr.length = arr.length + delta;
return arr;
}
...
auto a = new int[10];
a.resize(30); // now 40
a.resize(-30); // now 10
|
December 10, 2008 Re: changing array lengths | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | On Tue, 09 Dec 2008 22:54:30 -0600, Ellery Newcomer wrote: > Does the following totally not make sense? I think it should work. > > int[] a = new int[10]; > > a.length += 30; Unfortunately, the .length property, like all properties, do not support the 'op=' syntax. You have to do it the long way ... a.length = a.length + 30; -- Derek Parnell Melbourne, Australia skype: derek.j.parnell |
Copyright © 1999-2021 by the D Language Foundation