| |
 | Posted by Andrej Mitrovic | Permalink Reply |
|
Andrej Mitrovic 
| https://issues.dlang.org/show_bug.cgi?id=22580
Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |andrej.mitrovich@gmail.com
--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> ---
(In reply to Kurt Krueckeberg from comment #0)
> I am new to D, but the code example explanation in section 12.6 is confusing. The code example in section 12.6 refers to the "slice operator":
>
> "When the slice operator appears as the left-hand side of an assignment expression, it means that the contents of the array are the target of the assignment rather than a reference to the array..."
>
> Is there really a special "slice operator"? The operator used in the example in section 12.6 is array index operator, []. So shouldn't the explanation be changed to refer to the index operator (being applied to a slice that appears on the left-hand side of an assignment statement)? To me, it is clearer to say something like:
>
> "When the slice appears on the left-hand side of an assignment with the index operator, it means that the contents of the array are the target of the assignment rather than a reference to the array..."
>
> Or to say:
>
> "When the slice is indexed with the [] operator and it appears on the left-hand side of an assignment, it means that the contents of the array are the target of the assignment rather than a reference to the array..."
>
> Or simply:
>
> "When the slice is indexed and it appears on the left-hand side of an assignment, it means that the contents of the array are the target of the assignment rather than a reference to the array..."
The slice operator is specifically `[]` or `[1..2]`. And you can think of `[]` as being the same as `[0..$]`, where $ is the array length.
The index operator is `[1]` for example. It doesn't return a slice of the original array, it returns a single element from the array. That's indexing, not slicing.
Perhaps there should be better documentation about the difference between the two though.
--
|