@@ -30,7 +30,7 @@ Izrazi su izjave koje imaju vrijednost.
30
30
```
31
31
Rezultate izraza možete prikazati pomoću ` println ` .
32
32
33
- ``` tut
33
+ ``` scala mdoc
34
34
println(1 ) // 1
35
35
println(1 + 1 ) // 2
36
36
println(" Hello!" ) // Hello!
@@ -41,7 +41,7 @@ println("Hello," + " world!") // Hello, world!
41
41
42
42
Rezultatima možete dodijeliti naziv pomoću ključne riječi ` val ` .
43
43
44
- ``` tut
44
+ ``` scala mdoc
45
45
val x = 1 + 1
46
46
println(x) // 2
47
47
```
@@ -51,13 +51,13 @@ Referenciranje vrijednosti ne okida njeno ponovno izračunavanje.
51
51
52
52
Vrijednosti se ne mogu mijenjati.
53
53
54
- ``` tut :fail
54
+ ``` scala mdoc :fail
55
55
x = 3 // Ovo se ne kompajlira.
56
56
```
57
57
58
58
Tipovi vrijednosti mogu biti (automatski) zaključeni, ali možete i eksplicitno navesti tip:
59
59
60
- ``` tut
60
+ ``` scala mdoc:reset
61
61
val x : Int = 1 + 1
62
62
```
63
63
@@ -67,15 +67,15 @@ Primijetite da deklaracija tipa `Int` dolazi nakon identifikatora `x`. Također
67
67
68
68
Varijable su kao vrijednosti, osim što ih možete promijeniti. Varijable se definišu ključnom riječju ` var ` .
69
69
70
- ``` tut
70
+ ``` scala mdoc:reset
71
71
var x = 1 + 1
72
72
x = 3 // Ovo se kompajlira jer je "x" deklarisano s "var" ključnom riječju.
73
73
println(x * x) // 9
74
74
```
75
75
76
76
Kao i s vrijednostima, tip možete eksplicitno navesti ako želite:
77
77
78
- ``` tut
78
+ ``` scala mdoc:reset
79
79
var x : Int = 1 + 1
80
80
```
81
81
@@ -86,7 +86,7 @@ Izraze možete kombinovati okružujući ih s `{}`. Ovo se naziva blok.
86
86
87
87
Rezultat zadnjeg izraza u bloku je rezultat cijelog bloka, također.
88
88
89
- ``` tut
89
+ ``` scala mdoc
90
90
println({
91
91
val x = 1 + 1
92
92
x + 1
@@ -99,29 +99,29 @@ Funkcije su izrazi koji primaju parametre.
99
99
100
100
Možete definisati anonimnu funkciju (bez imena) koja vraća cijeli broj plus jedan:
101
101
102
- ``` tut
102
+ ``` scala mdoc
103
103
(x : Int ) => x + 1
104
104
```
105
105
106
106
Na lijevoj strani ` => ` je lista parametara. Na desnoj strani je izraz koji koristi date parametre.
107
107
108
108
Funkcije možete i imenovati.
109
109
110
- ``` tut
110
+ ``` scala mdoc
111
111
val addOne = (x : Int ) => x + 1
112
112
println(addOne(1 )) // 2
113
113
```
114
114
115
115
Funkcije mogu imati više parametara.
116
116
117
- ``` tut
117
+ ``` scala mdoc
118
118
val add = (x : Int , y : Int ) => x + y
119
119
println(add(1 , 2 )) // 3
120
120
```
121
121
122
122
Ili bez parametara.
123
123
124
- ``` tut
124
+ ``` scala mdoc
125
125
val getTheAnswer = () => 42
126
126
println(getTheAnswer()) // 42
127
127
```
@@ -132,7 +132,7 @@ Metode izgledaju i ponašaju se vrlo slično funkcijama, ali postoji nekoliko ra
132
132
133
133
Metode se definišu ključnom riječju ` def ` . Nakon ` def ` slijedi naziv, lista parametara, povratni tip, i tijelo.
134
134
135
- ``` tut
135
+ ``` scala mdoc:reset
136
136
def add (x : Int , y : Int ): Int = x + y
137
137
println(add(1 , 2 )) // 3
138
138
```
@@ -141,14 +141,14 @@ Primijetite da je povratni tip deklarisan _nakon_ liste parametara i dvotačke `
141
141
142
142
Metode mogu imati više listi parametara.
143
143
144
- ``` tut
144
+ ``` scala mdoc
145
145
def addThenMultiply (x : Int , y : Int )(multiplier : Int ): Int = (x + y) * multiplier
146
146
println(addThenMultiply(1 , 2 )(3 )) // 9
147
147
```
148
148
149
149
Ili bez listi parametara ikako.
150
150
151
- ``` tut
151
+ ``` scala mdoc
152
152
def name : String = System .getProperty(" name" )
153
153
println(" Hello, " + name + " !" )
154
154
```
@@ -158,7 +158,7 @@ Postoje i neke druge razlike, ali zasad, možete misliti o njima kao nečemu sli
158
158
Metode mogu imati višelinijske izraze također.
159
159
160
160
{% scalafiddle %}
161
- ``` tut
161
+ ``` scala mdoc
162
162
def getSquareString (input : Double ): String = {
163
163
val square = input * input
164
164
square.toString
@@ -173,7 +173,7 @@ Zadnjo izraz u tijelu metode je povratna vrijednost metode. (Scala ima ključnu
173
173
174
174
Klasu možete definisati ključnom riječju ` class ` praćenom imenom i parametrima konstruktora.
175
175
176
- ``` tut
176
+ ``` scala mdoc
177
177
class Greeter (prefix : String , suffix : String ) {
178
178
def greet (name : String ): Unit =
179
179
println(prefix + name + suffix)
@@ -186,7 +186,7 @@ Ne prenosi nikakvu korisnu informaciju.)
186
186
187
187
Instancu klase možete kreirati pomoću ključne riječi ` new ` .
188
188
189
- ``` tut
189
+ ``` scala mdoc
190
190
val greeter = new Greeter (" Hello, " , " !" )
191
191
greeter.greet(" Scala developer" ) // Hello, Scala developer!
192
192
```
@@ -198,21 +198,21 @@ Detaljniji pregled klasa biće dat [kasnije](classes.html).
198
198
Scala ima poseban tip klase koji se zove "case" klasa.
199
199
Po defaultu, case klase su nepromjenjive i porede se po vrijednosti. Možete ih definisati s ` case class ` ključnim riječima.
200
200
201
- ``` tut
201
+ ``` scala mdoc
202
202
case class Point (x : Int , y : Int )
203
203
```
204
204
205
205
Instancu case klase možete kreirati i bez ključne riječi ` new ` .
206
206
207
- ``` tut
207
+ ``` scala mdoc
208
208
val point = Point (1 , 2 )
209
209
val anotherPoint = Point (1 , 2 )
210
210
val yetAnotherPoint = Point (2 , 2 )
211
211
```
212
212
213
213
I porede se po vrijednosti.
214
214
215
- ``` tut
215
+ ``` scala mdoc
216
216
if (point == anotherPoint) {
217
217
println(point + " and " + anotherPoint + " are the same." )
218
218
} else {
@@ -235,7 +235,7 @@ Objasnićemo ih u dubinu [kasnije](case-classes.html).
235
235
Objekti su jedine instance svojih definicija. Možete misliti o njima kao singltonima svoje vlastite klase.
236
236
Objekte možete definisati ključnom riječju ` object ` .
237
237
238
- ``` tut
238
+ ``` scala mdoc
239
239
object IdFactory {
240
240
private var counter = 0
241
241
def create (): Int = {
@@ -247,7 +247,7 @@ object IdFactory {
247
247
248
248
Objektima možete pristupati referenciranjem njihovog imena.
249
249
250
- ``` tut
250
+ ``` scala mdoc
251
251
val newId : Int = IdFactory .create()
252
252
println(newId) // 1
253
253
val newerId : Int = IdFactory .create()
@@ -262,15 +262,15 @@ Trejtovi su tipovi koji sadrže polja i metode. Više trejtova se može kombino
262
262
263
263
Definišu se pomoću ` trait ` ključne riječi.
264
264
265
- ``` tut
265
+ ``` scala mdoc:reset
266
266
trait Greeter {
267
267
def greet (name : String ): Unit
268
268
}
269
269
```
270
270
271
271
Metode trejtova mogu imati defaultnu implementaciju.
272
272
273
- ``` tut
273
+ ``` scala mdoc:reset
274
274
trait Greeter {
275
275
def greet (name : String ): Unit =
276
276
println(" Hello, " + name + " !" )
@@ -279,7 +279,7 @@ trait Greeter {
279
279
280
280
Možete naslijediti trejtove s ` extends ` ključnom riječi i redefinisati (override) implementacije s ` override ` ključnom riječi.
281
281
282
- ``` tut
282
+ ``` scala mdoc
283
283
class DefaultGreeter extends Greeter
284
284
285
285
class CustomizableGreeter (prefix : String , postfix : String ) extends Greeter {
@@ -306,7 +306,7 @@ Java Virtuelna Mašina traži da se glavna metoda zove `main` i da prima jedan a
306
306
307
307
Koristeći objekt, možete definisati glavnu metodu ovako:
308
308
309
- ``` tut
309
+ ``` scala mdoc
310
310
object Main {
311
311
def main (args : Array [String ]): Unit =
312
312
println(" Hello, Scala developer!" )
0 commit comments