Programming in D by Ali Çehreli

cym13 via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Oct 17 11:20:00 PDT 2016


On Monday, 17 October 2016 at 18:10:01 UTC, vino wrote:
> Hi All,
>
>  As per the book named in the subject it states as below,so can 
> some one guide me what is wrong in the below code nor correct 
> if my understanding is wrong.
>
> Page 154
> immutable(int[]) specifies that neither the slice nor its 
> elements can be modified.
>
> So which means that a element or a slice of any array can be 
> modified, but the below example code is not working.
>
> import std.stdio;
> void main() {
> immutable(int[]) immSlice = [ 1, 2 ];
> immSlice ~= 3;
> immSlice[0] = 3; // Error's out at this point
> immSlice.length = 1;
> writeln(immSlice);
> }
> From,
> Vino.B

I don't see what you don't understand, you said it yourself: 
"neither the slice nor its elements can be modified". So you 
can't modify the elements  of an immutable array. immSlice is an 
immutable array of which you are trying to modify an element.


More information about the Digitalmars-d-learn mailing list