Scala. Профессиональное программирование [Мартин Одерски] (pdf) читать постранично, страница - 2

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

.

588

Библиография . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

604

Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

607

Оглавление

Отзывы на предыдущие издания книги . . . . . . . . . . . . . . . . . . . . . . . . . 18
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Целевая аудитория . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Как пользоваться книгой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

Как изучать Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

Условные обозначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Структура книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Ресурсы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Исходный код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Глава 1. Масштабируемый язык . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1. Язык, который растет вместе с вами . . . . . . . . . . . . . . . . . . . . . . . . .

37
38

Растут новые типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Растут новые управляющие конструкции . . . . . . . . . . . . . . . . . . . . 41
1.2. Почему язык Scala масштабируемый? . . . . . . . . . . . . . . . . . . . . . . . .

41

Scala — объектно-ориентированный язык . . . . . . . . . . . . . . . . . . . 42
Scala — функциональный язык . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3. Почему именно Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

Scala — совместимый язык . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Scala — лаконичный язык . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Scala — высокоуровневый язык . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Scala — статически типизированный язык . . . . . . . . . . . . . . . . . . . 50
1.4. Истоки Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

8   Оглавление

Глава 2. Первые шаги в Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Шаг 1. Осваиваем Scala REPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56
57

Шаг 2. Объявляем переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

Шаг 3. Определяем функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

Шаг 4. Пишем Scala-скрипты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

Шаг 5. Организуем цикл с while и принимаем решение с if . . . . . . . . . . . .

64

Шаг 6. Перебираем элементы с foreach и for-do . . . . . . . . . . . . . . . . . . . .

66

Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

Глава 3. Дальнейшие шаги в Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Шаг 7. Параметризуем массивы типами . . . . . . . . . . . . . . . . . . . . . . . . . .

69
69

Шаг 8. Используем списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

Шаг 9. Используем кортежи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

Шаг 10. Используем множества и отображения . . . . . . . . . . . . . . . . . . . .

79

Шаг 11. Учимся распознавать функциональный стиль . . . . . . . . . . . . . . .

84

Шаг 12. Преобразование с отображениями и for-yield . . . . . . . . . . . . . . .

87

Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

Глава 4. Классы и объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. Классы, поля и методы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91
91

4.2. Когда подразумевается использование точки с запятой . . . . . . . . . .

96

4.3. Объекты-одиночки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

4.4. Case-классы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

4.5. Приложение на языке Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

101

Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

103

Глава 5. Основные типы и операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1. Некоторые основные типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104
104

5.2. Литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

Целочисленные литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Литералы чисел с плавающей точкой . . . . . . . . .