Cecha Map[A,+B]
ma metodęRodzaj minBy [B] (f: ((A, B)) ⇒ B) (ukryte CMP: Kolejność [B]): (A, B)
def minBy [B] (f: ((A, B)) ⇒ B)(implicit cmp: Ordering[B]): (A, B)
spodziewałem się B
z cechą być takie same jak w metodzie, ale nie mogę jeszcze zrozumieć to:
val m2 = Map('a -> "1", 'b ->"2" ,'c ->"3")
m2.minBy((t:(Symbol,String))=>Integer.parseInt(t._2))
Tutaj B
od Map[A,+B]
jest String
, ale B
z minBy
to jest Int
- lub err I?
więc spodziewałem rodzaj metody jest raczej
def minBy [C] (f: ((A, B)) ⇒ C)(implicit cmp: Ordering[C]): (A, B)
Ale to nie to, co mówi źródło.
Jeśli oba są odrębne, gdzie powinienem wiedzieć? Jeśli tak nie jest - czy możesz zauważyć i wskazać mój błąd?
Ah, okej, myliłem się co do tej uwagi źródłowej. Metoda minBy jest zadeklarowana w GenTraversableOnce, a następnie zdefiniowana w TraversableOnce - i obie nie wiedzą o B. Tak naprawdę jest to problem skaladoc. Dziękuję wam obu. – Theodosius