@@ -30,7 +30,7 @@ Izrazi su izjave koje imaju vrijednost.
3030```
3131Rezultate izraza možete prikazati pomoću ` println ` .
3232
33- ``` tut
33+ ``` scala mdoc
3434println(1 ) // 1
3535println(1 + 1 ) // 2
3636println(" Hello!" ) // Hello!
@@ -41,7 +41,7 @@ println("Hello," + " world!") // Hello, world!
4141
4242Rezultatima možete dodijeliti naziv pomoću ključne riječi ` val ` .
4343
44- ``` tut
44+ ``` scala mdoc
4545val x = 1 + 1
4646println(x) // 2
4747```
@@ -51,13 +51,13 @@ Referenciranje vrijednosti ne okida njeno ponovno izračunavanje.
5151
5252Vrijednosti se ne mogu mijenjati.
5353
54- ``` tut :fail
54+ ``` scala mdoc :fail
5555x = 3 // Ovo se ne kompajlira.
5656```
5757
5858Tipovi vrijednosti mogu biti (automatski) zaključeni, ali možete i eksplicitno navesti tip:
5959
60- ``` tut
60+ ``` scala mdoc:reset
6161val x : Int = 1 + 1
6262```
6363
@@ -67,15 +67,15 @@ Primijetite da deklaracija tipa `Int` dolazi nakon identifikatora `x`. Također
6767
6868Varijable su kao vrijednosti, osim što ih možete promijeniti. Varijable se definišu ključnom riječju ` var ` .
6969
70- ``` tut
70+ ``` scala mdoc:reset
7171var x = 1 + 1
7272x = 3 // Ovo se kompajlira jer je "x" deklarisano s "var" ključnom riječju.
7373println(x * x) // 9
7474```
7575
7676Kao i s vrijednostima, tip možete eksplicitno navesti ako želite:
7777
78- ``` tut
78+ ``` scala mdoc:reset
7979var x : Int = 1 + 1
8080```
8181
@@ -86,7 +86,7 @@ Izraze možete kombinovati okružujući ih s `{}`. Ovo se naziva blok.
8686
8787Rezultat zadnjeg izraza u bloku je rezultat cijelog bloka, također.
8888
89- ``` tut
89+ ``` scala mdoc
9090println({
9191 val x = 1 + 1
9292 x + 1
@@ -99,29 +99,29 @@ Funkcije su izrazi koji primaju parametre.
9999
100100Možete definisati anonimnu funkciju (bez imena) koja vraća cijeli broj plus jedan:
101101
102- ``` tut
102+ ``` scala mdoc
103103(x : Int ) => x + 1
104104```
105105
106106Na lijevoj strani ` => ` je lista parametara. Na desnoj strani je izraz koji koristi date parametre.
107107
108108Funkcije možete i imenovati.
109109
110- ``` tut
110+ ``` scala mdoc
111111val addOne = (x : Int ) => x + 1
112112println(addOne(1 )) // 2
113113```
114114
115115Funkcije mogu imati više parametara.
116116
117- ``` tut
117+ ``` scala mdoc
118118val add = (x : Int , y : Int ) => x + y
119119println(add(1 , 2 )) // 3
120120```
121121
122122Ili bez parametara.
123123
124- ``` tut
124+ ``` scala mdoc
125125val getTheAnswer = () => 42
126126println(getTheAnswer()) // 42
127127```
@@ -132,7 +132,7 @@ Metode izgledaju i ponašaju se vrlo slično funkcijama, ali postoji nekoliko ra
132132
133133Metode se definišu ključnom riječju ` def ` . Nakon ` def ` slijedi naziv, lista parametara, povratni tip, i tijelo.
134134
135- ``` tut
135+ ``` scala mdoc:reset
136136def add (x : Int , y : Int ): Int = x + y
137137println(add(1 , 2 )) // 3
138138```
@@ -141,14 +141,14 @@ Primijetite da je povratni tip deklarisan _nakon_ liste parametara i dvotačke `
141141
142142Metode mogu imati više listi parametara.
143143
144- ``` tut
144+ ``` scala mdoc
145145def addThenMultiply (x : Int , y : Int )(multiplier : Int ): Int = (x + y) * multiplier
146146println(addThenMultiply(1 , 2 )(3 )) // 9
147147```
148148
149149Ili bez listi parametara ikako.
150150
151- ``` tut
151+ ``` scala mdoc
152152def name : String = System .getProperty(" name" )
153153println(" Hello, " + name + " !" )
154154```
@@ -158,7 +158,7 @@ Postoje i neke druge razlike, ali zasad, možete misliti o njima kao nečemu sli
158158Metode mogu imati višelinijske izraze također.
159159
160160{% scalafiddle %}
161- ``` tut
161+ ``` scala mdoc
162162def getSquareString (input : Double ): String = {
163163 val square = input * input
164164 square.toString
@@ -173,7 +173,7 @@ Zadnjo izraz u tijelu metode je povratna vrijednost metode. (Scala ima ključnu
173173
174174Klasu možete definisati ključnom riječju ` class ` praćenom imenom i parametrima konstruktora.
175175
176- ``` tut
176+ ``` scala mdoc
177177class Greeter (prefix : String , suffix : String ) {
178178 def greet (name : String ): Unit =
179179 println(prefix + name + suffix)
@@ -186,7 +186,7 @@ Ne prenosi nikakvu korisnu informaciju.)
186186
187187Instancu klase možete kreirati pomoću ključne riječi ` new ` .
188188
189- ``` tut
189+ ``` scala mdoc
190190val greeter = new Greeter (" Hello, " , " !" )
191191greeter.greet(" Scala developer" ) // Hello, Scala developer!
192192```
@@ -198,21 +198,21 @@ Detaljniji pregled klasa biće dat [kasnije](classes.html).
198198Scala ima poseban tip klase koji se zove "case" klasa.
199199Po defaultu, case klase su nepromjenjive i porede se po vrijednosti. Možete ih definisati s ` case class ` ključnim riječima.
200200
201- ``` tut
201+ ``` scala mdoc
202202case class Point (x : Int , y : Int )
203203```
204204
205205Instancu case klase možete kreirati i bez ključne riječi ` new ` .
206206
207- ``` tut
207+ ``` scala mdoc
208208val point = Point (1 , 2 )
209209val anotherPoint = Point (1 , 2 )
210210val yetAnotherPoint = Point (2 , 2 )
211211```
212212
213213I porede se po vrijednosti.
214214
215- ``` tut
215+ ``` scala mdoc
216216if (point == anotherPoint) {
217217 println(point + " and " + anotherPoint + " are the same." )
218218} else {
@@ -235,7 +235,7 @@ Objasnićemo ih u dubinu [kasnije](case-classes.html).
235235Objekti su jedine instance svojih definicija. Možete misliti o njima kao singltonima svoje vlastite klase.
236236Objekte možete definisati ključnom riječju ` object ` .
237237
238- ``` tut
238+ ``` scala mdoc
239239object IdFactory {
240240 private var counter = 0
241241 def create (): Int = {
@@ -247,7 +247,7 @@ object IdFactory {
247247
248248Objektima možete pristupati referenciranjem njihovog imena.
249249
250- ``` tut
250+ ``` scala mdoc
251251val newId : Int = IdFactory .create()
252252println(newId) // 1
253253val newerId : Int = IdFactory .create()
@@ -262,15 +262,15 @@ Trejtovi su tipovi koji sadrže polja i metode. Više trejtova se može kombino
262262
263263Definišu se pomoću ` trait ` ključne riječi.
264264
265- ``` tut
265+ ``` scala mdoc:reset
266266trait Greeter {
267267 def greet (name : String ): Unit
268268}
269269```
270270
271271Metode trejtova mogu imati defaultnu implementaciju.
272272
273- ``` tut
273+ ``` scala mdoc:reset
274274trait Greeter {
275275 def greet (name : String ): Unit =
276276 println(" Hello, " + name + " !" )
@@ -279,7 +279,7 @@ trait Greeter {
279279
280280Možete naslijediti trejtove s ` extends ` ključnom riječi i redefinisati (override) implementacije s ` override ` ključnom riječi.
281281
282- ``` tut
282+ ``` scala mdoc
283283class DefaultGreeter extends Greeter
284284
285285class 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
306306
307307Koristeći objekt, možete definisati glavnu metodu ovako:
308308
309- ``` tut
309+ ``` scala mdoc
310310object Main {
311311 def main (args : Array [String ]): Unit =
312312 println(" Hello, Scala developer!" )
0 commit comments