Patrzę na kod źródłowy innej osoby (Scala), gdzie widzę operatora :+=
wywoływanego na zmiennej typu IndexedSeq. Rozglądam się po stronie skaladocs dla tej klasy, aby dowiedzieć się, co robi ten operator, ale nie widzę tego. Myślę, że albo jest zdefiniowany w klasie spoza hierarchii dziedziczenia IndexedSeq
, albo javascript na stronie skaladocs ukrywa go gdzieś, czego nie widzę. (Właściwie to nie jest, zobacz odpowiedź poniżej.)Jak znaleźć definicję metod/operacji zdefiniowanych w niejawnie skonwertowanej klasie?
Uderzyłem każdy przycisk na stronie scaladocs, próbując odkryć wszystko. Sprawdziłem kod HTML strony internetowej. Musi istnieć sposób na wyszukanie operatora z dokumentacji klasy, do której można go zastosować. Czy nie ma?
(NB. Rozejrzałem się, że operator korzystając symbolhound, więc wiem, co to operator oznacza teraz to pytanie jest o dokumentacji scala w ogóle, a nie tego konkretnego operatora.)
To jest dobre. Nic o tym w indeksie "Programowanie w Scali" w "=" (ani w tym przypadku "przydział" ani "przeniesienie"). Dziękuję Ci! –
Ale powiedz, jeśli zrobię własną klasę metodą '+' i wypróbuję powyższe. To działa. Ale zamiast '+' jeśli spróbuję powiedzieć inną nazwę metody powiedzieć 'add', to nie działa. 'class A (val n: Int) { def dodaj (o: A) = new A (n + o.n) }' i spróbuj wykonać 'var i = new A (1); dodaję = nowe A (2) '. To nie działa. Zastąpienie 'add' przez' + 'działa zgodnie z oczekiwaniami. Interesujące jest to, że jest jakakolwiek rzecz określona w dokumentacji – Jatin
@ AdamMackler PiS index pod '+ =' reassignment z niezmiennymi setami i vars. Wskazuje na http://www.artima.com/pins1ed/next-steps-in-scala.html#step10, gdzie nie tylko dowiesz się, co + = oznacza, ale w Scali "mieszasz" cechy. Tyle do pochłonięcia! –