67 votes

Comment configurer des limites de types multiples en Scala ?

Je veux pouvoir déclarer quelque chose comme ça :

trait Narrowable[A] extends Iterable[A] {

    def narrow[B <: A & B <: AnyRef] : Iterable[B]

}

C'est-à-dire le type B doit être à la fois un sous-type de A et AnyRef . Est-ce possible ?

105voto

Walter Chang Points 7041

Utiliser le type de composé :

trait Narrowable[A] extends Iterable[A] {
  def narrow[B <: A with AnyRef] : Iterable[B]
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X