Groovy の "in" 演算子は、場合によって異なることを意味するようです。x in y
を意味する場合y.contains(x)
もあれば、呼ぶように見える場合もありますy.isCase(x)
。
Groovy は、どちらを呼び出すべきかをどのように判断しますか? .contains メソッドを使用することについて Groovy が認識している特定のクラスまたはクラスのセットはありますか? それとも、オブジェクトの 1 つでメソッドが存在することによって動作がトリガーされますか? in 演算子がまったく別のものに変更される場合はありますか?