Cool thing about D, number #72

Georg Wrede georg at nospam.org
Sun Apr 29 08:49:44 PDT 2007


janderson wrote:
> 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.
> 
> I think it would be cool if we had a D.algorithms newsgroup; but then 
> again, I think I'd never visit this newsgroup :)

In six months I'l go "man there was this thing about using .tupleof when 
passing arguments, but I'm damned if I can't find it". Happens to me all 
the time.

I wonder, is there someplace where gems, nifty things, gotchas, etc. are 
collected from these newsgroups?




More information about the Digitalmars-d mailing list