Comment fonctionne l'opérateur Groovy?

Le Groovy opérateur "in" semble signifier différentes choses dans différents cas. Parfois x in y signifie y.contains(x) et parfois, il semble appeler y.isCase(x).

Comment Groovy sais qui appeler? Est-il une classe particulière ou un ensemble de classes qui Groovy sait sur qui les utilisent .contient de la méthode? Ou est le comportement déclenché par l'existence d'une méthode sur l'un des objets? Existe-il des cas où l'opérateur est changé en quelque chose de complètement différent?

source d'informationauteur ataylor