Safer casts
Sean Kelly
sean at invisibleduck.org
Sat May 10 10:54:31 PDT 2008
== Quote from Dee Girl (deegirl at noreply.com)'s article
> What are good examples that show Tango is a good example of designing with a new D mindset?
I'm somewhat biased since I created the module, but I'd consider tango.core.Array
to be a good example of a D-oriented mindset. It's an array-specific algorithm
module intended to leverage the D slice syntax for range speficication. For exmaple:
import tango.core.Array;
import tango.stdc.stdio;
void main()
{
int[] buf = [1,6,2,5,9,2,3,2,4].dup;
// calls Array.sort with optional predicate
buf[0 .. 3].sort( (int x, int y) { reuturn x < y; } );
assert( buf[0 .. 3] == [1,2,5,6]);
buf.sort(); // full sort of buf with default predicate
// below is equivalent to equal_range in C++
printf( "there are %d 2s in buf\n",
buf[buf.lbound(2) .. buf.ubound(2)].length );
// more fun stuff
printf( "there are %d 5s between index 2 and 6\n",
buf[2 .. 6].count( 5 ) );
}
etc. (I'm using printf for the sake of illustration, not because
I suggest you actually use it in your app)
Sean
More information about the Digitalmars-d
mailing list