1.3. Wartości niezmienne

Za pomocą słowa kluczowego val można w języku Scala definiować wartości niezmienne. Definicja poniższej wartości jest składniowo podobna, z wyjątkiem innego słowa kluczowego, do wcześniejszej definicji zmiennej.

scala> val c: Int = 6
c: Int = 6

W książce celowo używane jest określenie wartość niezmienna zamiast mogącego się nasuwać określenia stała. Jest tak dlatego, że oprócz wartości niezmiennych, Scala umożliwia również definiowanie stałych. Różnica między nimi jest opisana w punkcie 5.15.

W przeciwieństwie do zmiennych, wartościom zainicjalizowanym za pomocą val nie może być przypisana nowa wartość. Próba wykonania takiego przypisania kończy się komunikatem błędu informującym nas, że operacja jest niedozwolona.

scala> c = 7
<console>:11: error: reassignment to val
       c = 7
         ^

W następnym przykładzie dodajemy do c wartość 2.

scala> val d = c + 2
d: Int = 8

Kompilator poradził sobie i tym razem, mimo braku jawnego określenia typu definiowanej wartości. Wartość c oraz liczba 2 są typu Int i ich suma jest także typu Int. Wobec tego zdefiniowana wartość również ma typ Int.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.