Руководство по Scala. Переменные.

В данной статье мы рассмотрим переменные в языке программирования Scala.
Как и в любом другом языке, переменная – это именованный зарезервированный участок памяти. Другими словами, когда мы объявляем переменную, мы резервируем какое-то место в памяти.

В Scala предусмотрено несколько способов объявления переменных. Ниже приведён пример объявления переменной с помощью ключевого слова var:


var someVariable : String = "Some String";

То, что мы объявили данную переменную, как var, говорит о том, что она может быть изменена (mutable).
Сейчас, для объявления переменной мы будем использовать ключевое слово val:


val someVariable : String = "Some String";


Тип данных переменной

В Scala тип данных переменной указывается после имени переменной и перед знаком равенства. Данная операция имеет следующий вид:


val или var ИмяПеременной : Тип данных = [Начальное значение];

Либо, без указания начального значения:


val или var ИмяПеременной : Тип данных;

Ниже приведены несколько примеров:


val simpleString : String;
var simpleInteger: Int;

Кроме того, компилятор Scala может автоматически присвоить тип данных переменной, основываясь на значении, которое мы её присваиваем. Данный механизм называется “Предположением типа переменной”.
Пример:


val simpleString = "This is simple String";

В языке программирования Scala поддерживается множественное присваивание. Данная операция имеет следующий общий вид:


val (simpleInteger: Int, simpleString: String) = Pair(100500, "String");

либо:


val (simpleInteger, simpleString) = Pair(100500, "String");

Ниже приведен пример простой программы с объявлением переменных и выводом в консоль их значений:


package net.proselyte.scalatutorial

/**
  * Simple program that demonstrates work with variables in Scala.
  *
  * @author Eugene Suleimanov
  */

object VariablesDemo {
  def main(args: Array[String]) {
    var simpleInteger: Int = 100500;
    val simpleString: String = "This is simple String";
    var simpleAutoDetectedInteger = 200800;
    val simpleAutoDetectedString = "This is simple auto detected String";

    println("simpleInteger:");
    println(simpleInteger);

    println("simpleString:");
    println(simpleString);

    println("simpleAutoDetectedInteger:");
    println(simpleAutoDetectedInteger);

    println("simpleString:");
    println(simpleAutoDetectedString);
  }
}

В результате выполнения данной программы мы получим следующий результат:


simpleInteger:
100500
simpleString:
This is simple String
simpleAutoDetectedInteger:
200800
simpleString:
This is simple auto detected String

Process finished with exit code 0


Область видимости переменных

В Scala переменная может иметь одну из трёх областей видимости, в зависимости от того, где именно она была объявлена:

  • Поле класса
    Поле является характеристикой класса. Они доступны внутри каждого метода данного класса и за его пределами, в зависимости от модификатора доступа, который к ним применяется.
  • Локальная переменная
    Локальная переменная – это переменная, которая объявляется внутри метода. Они доступны только внутри данного метода, но объекты могут передать их значения, если данный метод возвращает это значение.
  • Параметр метода
    Данный вид переменных передаётся в метод, как параметр или один из параметров. Они доступны внутри метода, либо за его пределами, если данный метод возвращает значение.

На этом мы заканчиваем обзор переменных в Scala.

В следующей статье мы рассмотрим классы и объекты в данном языке программирования.