Reasons to use D
via Digitalmars-d
digitalmars-d at puremagic.com
Sat Sep 12 11:44:41 PDT 2015
On Saturday, 12 September 2015 at 18:23:55 UTC, Adam D. Ruppe
wrote:
> On Saturday, 12 September 2015 at 16:34:42 UTC, Meta wrote:
>> Maybe because the static type system allows for overloading
>> and so all of these utility functions don't have to do a
>> million different things depending on what you pass to them.
>
> Yea. Another huge thing to me is the slice operator. I use it
> for a lot of stuff and it is consistent for strings and other
> arrays. (well, utf issues aside, but D's rule there is simple
> enough to remember too)
Arrayviews ("slices") are available as a type so you can do it
like this:
a = new Uint32Array([7,2,3,6]) // a is [7, 2, 3, 6]
b = a.subarray(1,3) // b reference [2, 3]
b[0] = 8 // now a is [7, 8, 3, 6]
a.set([5,9], 2) // now a is [7,8,5,9]
Destructuring is coming too. So you can destructure arrays as if
they are tuples. E.g.:
var a,b;
[a,b] = [2,4]
[a,b] = [b,a]
I think it might work in TypeScript or some of the other
compilers already.
More information about the Digitalmars-d
mailing list