оператор перегрузки 'in' - PullRequest
       4

оператор перегрузки 'in'

2 голосов
/ 31 января 2011

В Groovy я могу написать такой код:

assert 1 in [1,2,3]
assert "foo" in "foo"
assert 2 in 1..4

Есть ли способ перегрузить оператор 'in' для моих собственных классов? Если да, то какой метод я должен реализовать?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 31 января 2011

Вам необходимо перегрузить метод isCase, а именно:

class Example {
  def isCase( o ) {
    true
  }
}

def c = new Example()
println( "woo" in c )

print true

1 голос
/ 31 января 2011

Оператор "in" основан на методе contains().

...