Zaczynam grać Scala, a jedną z pierwszych rzeczy, jakie czytałem, że vals są:vals Scala można modyfikować
zmienne, które są przypisane raz i nigdy nie zmienić, a Vars, że zmienne może się zmieniać w swoim życiu
Ale jestem ciekaw, dlaczego mogę to zrobić:
val foo = Array(1, 3 ,2)
scala.util.Sorting.quickSort(foo)
gdybym sprawdzić zmienną foo teraz jest uporządkowany, co oznacza, że zmieniła ... także jeśli ja robić print (foo), oba mają to samo, więc zmienna wskazuje na ten sam obiekt (mogłem pomyśleć, że zmienna tylko wskazywała na nowy obiekt)
Czy ktoś mógłby wyjaśnić?
[this] (http://stackoverflow.com/a/1792207/298389) może ci pomóc –