Il tratto Map[A,+B]
ha un metodoTipo di minBy [B] (f: ((A, B)) ⇒ B) (CMP implicita: Ordinamento [B]): (A, B)
def minBy [B] (f: ((A, B)) ⇒ B)(implicit cmp: Ordering[B]): (A, B)
mi aspettavo il B
del carattere per essere la stessa di quella nel metodo, ma poi non può ancora dare un senso a questo:
val m2 = Map('a -> "1", 'b ->"2" ,'c ->"3")
m2.minBy((t:(Symbol,String))=>Integer.parseInt(t._2))
Qui, B
di Map[A,+B]
è String
, ma B
di minBy
è Int
- o err I?
così mi aspettavo il tipo di metodo per essere piuttosto
def minBy [C] (f: ((A, B)) ⇒ C)(implicit cmp: Ordering[C]): (A, B)
ma questo non è quello che dice la fonte.
Se entrambi sono distinti, dove dovrei saperlo? Se non lo sono - riesci a individuare, e sottolineare, il mio errore?
Ah, ok, ho sbagliato su quell'osservazione della fonte. Il metodo minBy è dichiarato in GenTraversableOnce, quindi definito in TraversableOnce - ed entrambi non conoscono B. Quindi è davvero un problema di scaladoc. Grazie ad entrambi. – Theodosius