Array Slicing

DMon fellow.dmon at gmail.com
Sun Sep 27 13:59:07 UTC 2020


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.



More information about the Digitalmars-d-learn mailing list