Dynamic array handling
seany
seany at uni-bonn.de
Thu Nov 14 13:52:15 PST 2013
WOW
On Thursday, 14 November 2013 at 21:50:53 UTC, Ali Çehreli wrote:
> On 11/14/2013 01:38 PM, seany wrote:
>> In Very High level languages, such as scilab, you can write
>>
>> array_var = (1,2,3 ... etc)
>>
>> and then you can also write
>>
>> array_var = array_var(1:2,4:$)
>>
>> In this case, the third element is dropped, and the same
>> variable,
>> array_var is set to be an array of a different length,
>> resizing of array
>> and so on is automated.
>>
>> Is the same possible to be done in D?
>>
>> say,
>>
>> int [] a ; //initialize;
>>
>> a ~= 1;
>> a ~= 2; //etc, polulate
>>
>> . . . say, we fill up 10 such elements
>>
>> Now, can you do like,
>>
>> a = somefunction_that_drops_the_4th_element(a); // a is reset,
>> // and the
>> length
>> // is
>> reorganized
>> automatically
>
> There is also chain() which works with ranges other than slices
> as well:
>
> import std.array;
> import std.range;
> import std.algorithm;
>
> void main()
> {
> auto a = 10.iota.array;
>
> auto skipped = chain(a[0..3], a[4..$]);
> assert (skipped.equal([ 0, 1, 2, 4, 5, 6, 7, 8, 9 ]));
> }
>
> Ali
More information about the Digitalmars-d-learn
mailing list