В Groovy я могу написать такой код:
assert 1 in [1,2,3] assert "foo" in "foo" assert 2 in 1..4
Есть ли способ перегрузить оператор 'in' для моих собственных классов? Если да, то какой метод я должен реализовать?
Спасибо!
Вам необходимо перегрузить метод isCase, а именно:
class Example { def isCase( o ) { true } } def c = new Example() println( "woo" in c )
print true
true
Оператор "in" основан на методе contains().
contains()