A nice D coding pattern
    Ali Çehreli via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Tue Nov 25 11:32:59 PST 2014
    
    
  
On 11/25/2014 10:58 AM, Tobias Pankrath wrote:
 >> void main() {
 >>     // Created at compile-time.
 >>     enum something = "........".Foo;
 >>
 >
 > I don't think we should encourage UFCS with typenames or uppercase
 > names. If anything, it does not provide any benefit in this case and
 > Foo(".....") is much more clearer without any syntactical overhead.
Agreed.
A guideline that makes sense to me is "UFCS is for when the function can 
be thought of as a special operation on its first parameter."
After seeing bearophile's code, I thought that even the following was 
better than UFCS:
     "hello".to!Foo
It only then feels like a special operation on "hello". (I haven't tried 
the code but I think it works.)
However, I would still use the Foo("hello").
Ali
    
    
More information about the Digitalmars-d-learn
mailing list