Re: Array Slicing
On Sunday, 27 September 2020 at 14:25:34 UTC, H. S. Teoh wrote: On Sun, Sep 27, 2020 at 01:59:07PM +, DMon via Digitalmars-d-learn wrote: Are these in the Specification or Phobos? See: https://dlang.org/articles/d-array-article.html T Or in Articles? Thanks, Teoh.
Re: Array Slicing
On Sun, Sep 27, 2020 at 01:59:07PM +, DMon via Digitalmars-d-learn wrote: > Are these in the Specification or Phobos? See: https://dlang.org/articles/d-array-article.html T -- Государство делает вид, что платит нам зарплату, а мы делаем вид, что работаем.
Array Slicing
Are these in the Specification or Phobos? I figured them out a few days ago. These are from my snippet journal on arrays and there may be more. void main() { int[5] a = [1, 2, 3, 4, 5]; int[5][3] b = [[6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]]; int[5] c; // This: writeln(a[1..4][0]); writeln(b[0][1..4]); writeln(b[1][1..4][2]); //writeln(b[0..1][1..3]); // Range violation. //writeln(a[$-2..$-3]); // NG. writeln(a[$-3..$-2]) // And, this: c[0..5] = a[0..$-0] writeln(c); } My apologizes, if any if these are noted or wrong.
Re: Can i get a array Slicing where the top from?and how?
On 03/30/2016 11:39 PM, Dsby wrote: > Like this: > > ubyte[] fun() > { > ubyte[] str = cast(ubyte[])"hello world"; > ubyte[] by = Mallocator.instance.allocate(str.length); > by[] = str[]; > return by[5..$]; > } > > void mian() > { > ubyte[] aa = fun(); > // i want free the aa's momeny. > //Mallocator.instance.deallocate(aa);// it is erro, aa.ptr != by.ptr? > // can I get the by's ptr and length? > } > > > can I get "by" in main function by aa? > i can get the way?is it possible ? No, you can't. Normally, you would have a cleanup function that corresponds to fun(), which the users call when they're done with their resources. void foo_cleanup(ubyte[] by) { // Do your magic here to find the original pointer. // For example, you can use an AA to map from // by.ptr to the original pointer. } Ali
Can i get a array Slicing where the top from?and how?
Like this: ubyte[] fun() { ubyte[] str = cast(ubyte[])"hello world"; ubyte[] by = Mallocator.instance.allocate(str.length); by[] = str[]; return by[5..$]; } void mian() { ubyte[] aa = fun(); // i want free the aa's momeny. //Mallocator.instance.deallocate(aa);// it is erro, aa.ptr != by.ptr? // can I get the by's ptr and length? } can I get "by" in main function by aa? i can get the way?is it possible ?