Flag proposal

Robert Clipsham robert at octarineparrot.com
Sat Jun 11 12:12:12 PDT 2011


On 11/06/2011 12:54, Andrei Alexandrescu wrote:
> Consider two statements:
>
> 1. "I dislike Flag. It looks ugly to me."

This statement holds true for me.

> 2. "I dislike Flag. Instead I want named arguments."

This one is perhaps true. I've never needed named arguments.

> There is little retort to (1) - it simply counts as a vote against. For
> (2) the course of action is to point out the liabilities of changing the
> language.
>
> Andrei

So I had an idea.

----
struct Flag
{
     static bool opDispatch(string n)()
     {
         static if (n[0..2] == "no")
         {
             return false;
         }
         else
         {
             return true;
         }
     }
}

void myFunc(bool foo, bool bar)
{
}

void main()
{
     myFunc(Flag.foo, Flag.noBar);
}
----

  * No ugly templates
  * Self documenting
  * No overhead (dmd can inline it to myFunc(true, false))
  * Caller decides if they want it

-- 
Robert
http://octarineparrot.com/


More information about the Digitalmars-d mailing list