Cool thing about D, number #72

janderson askme at me.com
Thu Apr 26 20:13:55 PDT 2007


Bill Baxter wrote:
> I've always had this dilemma in C++ when writing graphicsy methods, 
> whether a function that takes a point should take separate components 
> (float,float,float) or a vector (Vec3f), or perhaps a pointer (float*). 
>  In D there's also the option of float[3].  Or just for convenience sake 
> maybe overloads for all of the above.
> 
> I just realized today the coolness of tupleof for this kind of 
> situation.  You can make the function takes the plain floats
> 
>    do_something_at_point(float x, float y, float z);
> 
> And still call it using a Vec3f via tupleof!
> 
>    Vec3f world_origin;
>    ...
>    do_something_at_point(world_origin.tupleof);
> 
> as opposed to
> 
>    do_something_at_point(
>        world_origin.x,
>        world_origin.y,
>        world_origin.z);
> 
> It's a minor thing, but it rocks.
> 
> 
> --bb

Thats awesome.

I think it would be cool if we had a D.algorithms newsgroup; but then 
again, I think I'd never visit this newsgroup :)

-Joel



More information about the Digitalmars-d mailing list