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
Vous devez vous connecter pour publier un commentaire.
J'ai fait quelques expérimentations et il semble que la
in
opérateur est basé sur laisCase
méthode uniquement comme l'a démontré par le code suivantPour le JDK classes de collection je suppose qu'il semble juste comme le
in
opérateur est basé surcontains()
parce queisCase()
appelscontains()
pour ces classes.C'est en fait le tout basé sur isCase. Groovy ajoute un isCase méthode pour les Collections qui est basé sur la méthode contains. Une classe avec des isCase peut être utilisé avec dans.