Оператор Groovy "in" в разных случаях означает разные вещи. Иногда x in y
означает y.contains(x)
, и иногда он вызывает вызов y.isCase(x)
.
Как Groovy знает, какой из них вызывать? Есть ли определенный класс или набор классов, о которых Groovy знает, для чего используется метод .contains? Или поведение, вызванное существованием метода на одном из объектов? Существуют ли случаи, когда оператор in изменяется полностью на что-то другое?