Które metody dla mutable kolekcji NIE zwracają nowej kolekcji?

0

Tak się zastanawiałem, czemu nie ma odpowiedników większości funkcji które zamiast zwracać nową kolekcję, robiły by rzeczy w miejscu. Metod takich jest niewiele.
Ten temat poruszał już ktoś w 2011 https://groups.google.com/forum/#!topic/scala-user/kKjhk4GqvSc na przykładzie metody reverse.
I jak szybko (powiedzmy, w IntelliJ, lub korzystając z dokumentacji) sprawdzić które metody robią pracę na tej samej kolekcji?
W tej chwili w dokumentacji patrzę jedynie na metody danej zmienialnej kolekcji np ArrayBuffer, ale wszystkich tam nie ma (np transform które dziedziczy po SeqLike). Kolejną rzeczą może być wyszukanie tych metod które zwracają .this.type (dla ArrayBuffer np ++= zwraca ArrayBuffer.this.type) ale znowu nie wszystkie zwracają, np clear() nic nie zwraca.
Chciałbym móc w prosty sposób sprawdzić które metody mam w zasięgu ręki (ktoś na grupach google z w/w linku dał pomysł aby metody zmienialne zaczynały się od słówka mutable - słuszne)
Ogólnie mam wrażenie że panuje bałagan w metodach kolekcji Scalowych. Czy ktoś to ogarnął i mógłby posłużyć radą?

0

@ubuntuser a po co Ci ta informacja?

Generalnie to mozesz sobie dodac zrodla tej biblioteki (bodaj II ma taki fizcer) i klikiem sprawdzac co robi.

Potwierdzilem przed chwila powyzsza informacje, wiec przenosze do posta. Te metody sa tak male (kilka, kilkanascie linii max), ze jak chcesz podejrzec na szybko to mozesz po prostu uzyc opcji GoToDefinition. [Chyba] nic wielkiego nie trzeba robic, na swiezej isntalacji najnowszej wersji IntelliJ Community Edition, po dograniu pluginu scali i sciagnieciu samej scali (przez kreator projektu w IntelliJ) skakanie do definicji dziala. Wiec nawet nie trzeba nic kombinowac.

0

Ale ja nie mam problemu z ustaleniem czy jakaś poszczególna metoda zwraca nową a która tę samą instancję, chodzi mi bardziej o coś typu dodatkowy skrót klawiaturowy który wyświetli tylko metody, które robią w miejscu. W tej chwili nawet w dokumentacji nie ma takiej łatwej segregacji. W sumie ten post to bardziej pretensja do developerów języka, ale może istnieje jakieś obejście dlatego pisze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1