Добро пожаловать в книгу по Scala 3. Цель этой книги — предоставить неформальное введение в язык Scala. Она относительно легко затрагивает все темы Scala. Если в какой-то момент во время чтения этой книги вы захотите получить дополнительную информацию о конкретной функции, можете воспользоваться ссылкой на нашу Справочную документацию, в которой более подробно рассматриваются многие новые функции языка Scala.
Если вас интересует заархивированное издание книги для Scala 2, доступ к нему можно получить здесь. В настоящее время мы находимся в процессе слияния двух книг, и вы можете нам помочь.
В этой книге мы надеемся продемонстрировать, что Scala — это красивый, выразительный язык программирования с чистым современным синтаксисом, который поддерживает и функциональное программирование (ФП), и объектно-ориентированное программирование (ООП), а также обеспечивает безопасную статическую систему типов. Синтаксис, грамматика и функции Scala были переосмыслены, открыто обсуждались и были обновлены в 2020 году, чтобы стать яснее и проще для понимания, чем когда-либо прежде.
Книга начинается с беглого обзора возможностей Scala в разделе “Почувствуй Scala”. После этого обзора в следующих разделах содержится более подробная информация о рассмотренных языковых функциях.
Contributors to this page:
Contents
- Введение
- Возможности Scala
- Почему Scala 3?
- Почувствуй Scala
- Пример 'Hello, World!'
- REPL
- Переменные и типы данных
- Структуры управления
- Моделирование данных
- Методы
- Функции первого класса
- Одноэлементные объекты
- Коллекции
- Контекстные абстракции
- Верхнеуровневые определения
- Обзор
- Первый взгляд на типы
- Интерполяция строк
- Структуры управления
- Моделирование предметной области
- Инструменты
- Моделирование ООП
- Моделирование ФП
- Методы
- Особенности методов
- Main методы в Scala 3
- Обзор
- Функции
- Анонимные функции
- Параметры функции
- Eta расширение
- Функции высшего порядка
- Собственный map
- Создание метода, возвращающего функцию
- Обзор
- Пакеты и импорт
- Коллекции в Scala
- Типы коллекций
- Методы в коллекциях
- Обзор
- Функциональное программирование
- Что такое функциональное программирование?
- Неизменяемые значения
- Чистые функции
- Функции — это значения
- Функциональная обработка ошибок
- Обзор
- Типы и система типов
- Определение типов
- Параметризованные типы
- Пересечение типов
- Объединение типов
- Алгебраические типы данных
- Вариантность
- Непрозрачные типы
- Структурные типы
- Зависимые типы функций
- Другие типы
- Контекстные абстракции
- Методы расширения
- Параметры контекста
- Контекстные границы
- Given импорты
- Классы типов
- Многостороннее равенство
- Неявное преобразование типов
- Обзор
- Параллелизм
- Scala утилиты
- Сборка и тестирование проектов Scala с помощью Sbt
- Рабочие листы
- Взаимодействие с Java