dans la programmation Scala 2ème édition dans la section 19.5 dans l'exemple suivantvariance de type Scala sur des bornes inférieures
class Queue[+T] (private val leading: List[T],
private val trailing: List[T]) {
def enqueue[U >: T](x: U) =
new Queue[U](leading, x :: trailing) // ...
}
T
devrait se retrouver à la position négative comme ci-dessous
def enqueue[U- >: T-](x: U-) =
new Queue[U](leading, x :: trailing) // ...
Mais le livre mentionne qu'il y sont 2 flips
Techniquement, ce qui se passe est un flip se produit pour les limites inférieures. Le paramètre de type U est dans une position négative (1 flip), tandis que la borne inférieure (>: T) est dans une position positive (2 flips).
Comment 2 flips se produisent ici?
S'il s'agit d'un appel de type, le clapet de classification se produit-il? Je ne pouvais pas comprendre/obtenir comment 2 flips se produit pour T – Pushparaj
@Pushparaj ces "flips" ne sont rien d'autre qu'un mécanisme interne dans le compilateur je suppose. Peut-être que c'est un flip pour entrer une déclaration de méthode et l'autre pour faire référence à un paramètre de constructeur de type. –