Worksheet - это файл Scala, который вычисляется при сохранении,
и результат каждого выражения отображается в столбце справа от программы.
Рабочие листы похожи на сеанс REPL на стероидах
и имеют поддержку редактора 1-го класса: завершение, гиперссылки, интерактивные ошибки при вводе и т.д.
Рабочие листы используют расширение .worksheet.sc
.
Далее покажем, как использовать рабочие листы в IntelliJ и в VS Code (с расширением Metals).
- Откройте проект Scala или создайте его:
- чтобы создать проект в IntelliJ, выберите “File” -> “New” -> “Project…”, выберите “Scala” в левой колонке и нажмите “Далее”, чтобы задать название проекта и каталог.
- чтобы создать проект в VS Code, выполните команду “Metals: New Scala project”,
выберите начальный
scala/scala3.g8
, задайте местоположение проекта, откройте его в новом окне VS Code и импортируйте сборку.
- Создайте файл с именем
hello.worksheet.sc
в каталогеsrc/main/scala/
.- в IntelliJ щелкните правой кнопкой мыши на каталоге
src/main/scala/
и выберите “New”, а затем “File”. - в VS Code щелкните правой кнопкой мыши на каталоге
src/main/scala/
и выберите “New File”.
- в IntelliJ щелкните правой кнопкой мыши на каталоге
-
Вставьте следующее содержимое в редактор:
println("Hello, world!") val x = 1 x + x
-
Запустите worksheet:
- в IntelliJ щелкните зеленую стрелку в верхней части редактора, чтобы запустить worksheet.
- в VS Code сохраните файл.
Вы должны увидеть результат выполнения каждой строки на правой панели (IntelliJ) или в виде комментариев (VS Code).
Рабочий лист, выполненный в IntelliJ.
Рабочий лист, выполненный в VS Code (с расширением Metals).
Обратите внимание, что worksheet будет использовать версию Scala,
определенную проектом (обычно задается ключом scalaVersion
в файле build.sbt
).
Также обратите внимание, что worksheet не имеют точек входа в программу. Вместо этого операторы и выражения верхнего уровня оцениваются сверху вниз.
Contributors to this page:
Contents
- Введение
- Возможности Scala
- Почему Scala 3?
- Почувствуй Scala
- Пример 'Hello, World!'
- REPL
- Переменные и типы данных
- Структуры управления
- Моделирование данных
- Методы
- Функции первого класса
- Одноэлементные объекты
- Коллекции
- Контекстные абстракции
- Верхнеуровневые определения
- Обзор
- Первый взгляд на типы
- Интерполяция строк
- Структуры управления
- Моделирование предметной области
- Инструменты
- Моделирование ООП
- Моделирование ФП
- Методы
- Особенности методов
- Main методы в Scala 3
- Обзор
- Функции
- Анонимные функции
- Параметры функции
- Eta расширение
- Функции высшего порядка
- Собственный map
- Создание метода, возвращающего функцию
- Обзор
- Пакеты и импорт
- Коллекции в Scala
- Типы коллекций
- Методы в коллекциях
- Обзор
- Функциональное программирование
- Что такое функциональное программирование?
- Неизменяемые значения
- Чистые функции
- Функции — это значения
- Функциональная обработка ошибок
- Обзор
- Типы и система типов
- Определение типов
- Параметризованные типы
- Пересечение типов
- Объединение типов
- Алгебраические типы данных
- Вариантность
- Непрозрачные типы
- Структурные типы
- Зависимые типы функций
- Другие типы
- Контекстные абстракции
- Методы расширения
- Параметры контекста
- Контекстные границы
- Given импорты
- Классы типов
- Многостороннее равенство
- Неявное преобразование типов
- Обзор
- Параллелизм
- Scala утилиты
- Сборка и тестирование проектов Scala с помощью Sbt
- Рабочие листы
- Взаимодействие с Java