About the in expression, Why can't use with array.
    mipri 
    mipri at minimaltype.com
       
    Fri Oct 25 16:01:57 UTC 2019
    
    
  
On Friday, 25 October 2019 at 15:52:50 UTC, Paul Backus wrote:
> On Friday, 25 October 2019 at 09:25:21 UTC, Dennis wrote:
>> I can overload the 'in' operator on my types to something that 
>> takes exponential time if I want, just like "+" can also be 
>> overloaded to a linear time operation on e.g. BigInt.
>
> Worth noting that `opIn` is a D1 operator overload, and thus 
> deprecated as of 2.088.0.
That wasn't mentioned though? Does it reverse the arguments so
that the writeln() examples below can be more naturally ordered?
   #! /usr/bin/env rdmd
   import std.stdio;
   struct X {
       string data;
       bool opBinary(string op)(char p) if (op == "in") {
           foreach (c; data)
               if (p == c) return true;
           return false;
       }
   }
   void main() {
       auto x = X("hi there");
       writeln(x in 'i');
       writeln(x in '?');
   }
    
    
More information about the Digitalmars-d-learn
mailing list