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