On Saturday, 14 June 2014 at 14:02:52 UTC, Marco Cosentino wrote:
Hi,
I'm new to D and stumbled upon this very interesting discussion.
My question now is:
can you provide an example of how to return a collection of
homogeneous elements whose size is not known at compile time
(for
wich you would normally use a dynamic array) from a function?
int[] foo() {
int[] data = [1,2,3,4]; // create new array on the heap
data ~= [5,6,7,8]; // append some data
return data;
}
The problem with the OP's code was not per se that he returned a
slice, but that he took this slice from a fixed-length local
array. The example above doesn't do that, and is therefore safe.