5.18. Первая программа
Первая программа
Подготовка окружения
Для работы с Scala требуется установка нескольких компонентов. Основной из них — Java Development Kit (JDK), поскольку Scala компилируется в байт-код JVM. Без JDK невозможно выполнить ни одну программу на Scala.
Установка JDK
- Откройте официальный сайт Adoptium или Oracle JDK.
- Выберите версию JDK 17 или новее. Scala хорошо совместима с современными LTS-версиями Java.
- Скачайте установочный файл, соответствующий вашей операционной системе: Windows, macOS или Linux.
- Запустите установку и следуйте инструкциям мастера.
- После завершения установки проверьте наличие JDK в системе. Откройте терминал (командную строку) и введите:
java -version
Если команда возвращает информацию о версии Java, например:
openjdk version "17.0.12" 2024-07-16
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode)
это означает, что JDK установлен корректно.
Установка Scala
Существует несколько способов установить Scala. Наиболее универсальный и рекомендуемый — через сборщик проектов, такой как sbt (Simple Build Tool). Он автоматически управляет зависимостями, версиями Scala и процессом компиляции.
Установка sbt
-
Windows:
Перейдите на страницу https://www.scala-sbt.org/download.html, скачайте MSI-установщик и запустите его. Установщик добавит sbt в системный PATH. -
macOS:
Если у вас установлен Homebrew, выполните в терминале:brew install sbt -
Linux (Debian/Ubuntu):
Выполните последовательно:echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt update
sudo apt install sbt
После установки проверьте версию sbt:
sbt --version
Если команда возвращает номер версии, например 1.9.7, значит, sbt установлен успешно.
Выбор интегрированной среды разработки (IDE)
Для написания программ на Scala подходит несколько современных IDE. Наиболее популярные — IntelliJ IDEA и Visual Studio Code с расширением Metals.
IntelliJ IDEA
IntelliJ IDEA от JetBrains предлагает отличную поддержку Scala через плагин Scala Plugin.
- Скачайте IntelliJ IDEA Community Edition с официального сайта.
- Установите программу, следуя стандартным шагам.
- При первом запуске перейдите в File → Settings → Plugins (на macOS: IntelliJ IDEA → Preferences → Plugins).
- Найдите плагин Scala и установите его.
- Перезапустите IDE.
Теперь IntelliJ IDEA готова к работе с проектами на Scala.
Visual Studio Code + Metals
Если вы предпочитаете легковесную среду, используйте VS Code с сервером языка Metals.
- Установите Visual Studio Code.
- Откройте расширения (Ctrl+Shift+X или Cmd+Shift+X).
- Найдите и установите расширение Scala (Metals).
- После установки Metals автоматически загрузит необходимые компоненты при открытии первого Scala-проекта.
Обе среды поддерживают автодополнение, навигацию по коду, рефакторинг и отладку.
Создание первого проекта
Проект на Scala лучше всего начинать с использования sbt, так как он обеспечивает стандартную структуру каталогов и управление зависимостями.
Шаг 1: Создание директории проекта
Откройте терминал и создайте новую папку:
mkdir hello-scala
cd hello-scala
Шаг 2: Настройка структуры проекта
Создайте следующие подкаталоги:
mkdir -p src/main/scala
Эта структура соответствует соглашению sbt: исходный код размещается в src/main/scala.
Шаг 3: Создание файла сборки
В корне проекта создайте файл build.sbt:
touch build.sbt
Откройте его в любом текстовом редакторе и добавьте следующее содержимое:
name := "HelloScala"
version := "0.1"
scalaVersion := "3.5.0"
Здесь:
name— имя проекта,version— версия,scalaVersion— версия языка Scala. Рекомендуется использовать последнюю стабильную версию Scala 3 (Dotty).
Шаг 4: Написание первой программы
Создайте файл Main.scala внутри src/main/scala:
touch src/main/scala/Main.scala
Откройте его и введите следующий код:
@main def hello(): Unit =
println("Hello, World!")
Этот код определяет точку входа программы. В Scala 3 ключевое слово @main автоматически создаёт метод main, который вызывается при запуске. Функция hello не принимает аргументов и возвращает тип Unit, что эквивалентно void в других языках. Вызов println выводит строку в консоль.
Альтернативный синтаксис (совместимый с Scala 2 и 3):
object Main:
def main(args: Array[String]): Unit =
println("Hello, World!")
Оба варианта корректны. Первый короче и современнее, второй — более традиционный.
Запуск программы
Теперь программа готова к запуску. Вернитесь в корень проекта (hello-scala) и выполните команду:
sbt run
sbt автоматически:
- загрузит компилятор Scala нужной версии,
- скомпилирует исходный код,
- найдёт точку входа (
@mainилиobject Mainс методомmain), - запустит программу.
В терминале появится:
Hello, World!
Если в проекте несколько точек входа, sbt предложит выбрать одну из них по номеру.
Дополнительные возможности
После успешного запуска можно экспериментировать с кодом. Например, измените сообщение:
@main def hello(): Unit =
println("Привет, Вселенная IT!")
Сохраните файл и снова выполните sbt run. Изменения применятся автоматически.
Для более сложных проектов sbt поддерживает:
- управление внешними библиотеками через
libraryDependencies, - многомодульную структуру,
- тестирование с помощью фреймворков, таких как ScalaTest или MUnit.