Scala Nauka programowania.pdf

(2472 KB) Pobierz
Tytuł oryginału: Learning Scala Programming
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-4796-0
Copyright © Packt Publishing 2018. First published in the English language
under the title ‘Learning Scala Programming (9781788392822)’
Polish edition copyright © 2019 by Helion SA
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/scalan
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze
O recenzencie
Wprowadzenie
Rozdział 1. Rozpoczęcie programowania w Scali
Wprowadzenie do Scali
Paradygmat programowania
Paradygmat zorientowany obiektowo kontra funkcyjny
Scala to język wielu paradygmatów
Zalety Scali
Działanie w JVM
Supersprytna składnia
Dwie pieczenie na jednym ogniu
Typ to podstawa
Łatwe
programowanie równoległe
Kod działający asynchronicznie
Scala jest teraz dostępna również dla front-endu
Sprytnie działające
środowiska
IDE
Rozbudowany język
Pomoc techniczna w internecie
Praca z językiem Scala
Instalacja Javy
Instalacja SBT
Środowisko
REPL Scali
Środowisko
IDE Scali
Pierwszy program w Scali
Podsumowanie
9
10
11
15
15
16
17
17
19
19
19
20
20
21
21
21
22
22
22
22
23
23
23
24
25
27
Kup książkę
Poleć książkę
Spis treści
Rozdział 2. Elementy konstrukcyjne w Scali
Co kryje się pod programem w Scali?
Słowa kluczowe val i var
Literał
Literał liczby całkowitej
Literał liczby zmiennoprzecinkowej
Literał wartości boolowskiej
Literał znaku
Literał ciągu tekstowego
Literał symbolu
Literał krotki
Literał funkcji
Typy danych
Hierarchia klas Scali
Klasa Any
Unit
Boolean
Null i Nothing
Inferencja typu
Operatory w Scali
Operatory arytmetyczne
Operatory relacji
Operatory logiczne
Operatory bitowe
Kolejność działań
Klasy opakowań
Interpolacja ciągu tekstowego
Interpolator s
Interpolator f
Interpolator raw
Podsumowanie
29
30
31
32
33
35
36
36
37
38
38
39
39
40
41
44
44
44
45
46
48
49
50
50
51
52
55
55
56
56
57
Rozdział 3. Nadanie kształtu programowi w Scali
Pętle
Pętla for
Pętla while
Pętla do-while
Wyrażenia for
Wyrażenia for yield
Rekurencja
Dlaczego rekurencja zamiast iteracji?
Ograniczenia rekurencji
Idealny sposób na utworzenie funkcji rekurencyjnej
Konstrukcje warunkowe
Konstrukcja if-else
Dopasowanie wzorca
Podsumowanie
59
60
61
63
63
64
65
66
66
67
67
68
69
70
72
4
Kup książkę
Poleć książkę
Spis treści
Rozdział 4. Podział programu na funkcje
Składnia funkcji
Zagnieżdżanie funkcji
Wywołanie funkcji
Przekazywanie zmiennej liczby argumentów
Wywołanie funkcji wraz z wartością domyślną parametru
Wywoływanie funkcji wraz z nazwanymi argumentami
Literał funkcji
Strategie wywoływania funkcji
Wywoływanie po nazwie
Wywołanie po wartości
Funkcja częściowa
Podsumowanie
73
74
76
77
78
79
80
81
83
83
84
85
87
Rozdział 5. Kolekcje w Scali
Motywacja
Niemodyfikowalne i modyfikowalne kolekcje danych
Różnice między kolekcjami typu root i niemodyfikowalnymi
Hierarchia kolekcji w Scali
Cecha Traversable
Cecha Iterable
Kolekcje najczęściej używane w Scali
Kolekcja List
Kolekcja Map
Kolekcja SortedSet
Kolekcja Stream
Kolekcja Vector
Niemodyfikowalny stos
Niemodyfikowalna kolejka
Kolekcja Range
ArrayBuffer
Kolekcja ListBuffer
Kolekcja StringBuilder
Kolekcja Array
Bogate zestawy operacji przeprowadzanych w kolekcjach
Kolekcje równoległe w Scali
Kolekcja ParArray
Kolekcja ParVector
Konwersja kolekcji Javy na kolekcję Scali
Wybór kolekcji
Wydajność działania kolekcji
Podsumowanie
89
89
91
92
93
96
98
103
103
104
105
106
106
107
108
108
109
110
110
111
111
120
120
121
122
123
125
126
Rozdział 6. Podstawy programowania zorientowanego obiektowo w Scali
Klasa
Klasa abstrakcyjna
Klasy abstrakcyjne i cechy
Klasa final
127
128
133
134
134
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin