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