Skip to content

Commit 23cd6eb

Browse files
committed
Initial run through of changing tut to mdoc
1 parent 18a2b31 commit 23cd6eb

File tree

274 files changed

+926
-914
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

274 files changed

+926
-914
lines changed

_ba/tour/abstract-type-members.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Trejtovi i apstraktne klase mogu imati apstraktne tipove kao članove.
1515
To znači da konkretne implementacije definišu stvarni tip.
1616
Slijedi primjer:
1717

18-
```tut
18+
```scala mdoc
1919
trait Buffer {
2020
type T
2121
val element: T
@@ -26,7 +26,7 @@ U gornjem primjeru smo definisali apstraktni tip `T`.
2626
On se koristi za opis člana `element`.
2727
Ovaj trejt možemo naslijediti u apstraktnoj klasi i dodati gornju granicu tipa za `T` da bi ga učinili preciznijim.
2828

29-
```tut
29+
```scala mdoc
3030
abstract class SeqBuffer extends Buffer {
3131
type U
3232
type T <: Seq[U]
@@ -40,7 +40,7 @@ mora biti podtip `Seq[U]` za neki novi apstraktni tip `U`.
4040
Trejtovi ili [klase](classes.html) s apstraktnim tip-članovima se često koriste u kombinaciji s instanciranjem anonimnih klasa.
4141
Radi ilustracije, pogledaćemo program koji radi s sekvencijalnim baferom koji sadrži listu integera:
4242

43-
```tut
43+
```scala mdoc
4444
abstract class IntSeqBuffer extends SeqBuffer {
4545
type U = Int
4646
}
@@ -61,7 +61,7 @@ Metoda `newIntSeqBuf` koristi anonimnu klasu kao implementaciju `IntSeqBuf` pos
6161
Često je moguće pretvoriti apstraktni tip-član u tipski parametar klase i obrnuto.
6262
Slijedi verzija gornjeg koda koji koristi tipske parametre:
6363

64-
```tut
64+
```scala mdoc:reset
6565
abstract class Buffer[+T] {
6666
val element: T
6767
}

_ba/tour/annotations.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Redoslijed anotacijskih klauza nije bitan.
3030
Određene anotacije će uzrokovati pad kompajliranja ako određeni uslovi nisu ispunjeni.
3131
Npr, anotacija `@tailrec` osigurava da je metoda [tail-rekurzivna](https://en.wikipedia.org/wiki/Tail_call). Tail-rekurzija može zadržati memorijske zahtjeve konstantnim.
3232
Evo kako se koristi na metodi koja izračunava faktorijel:
33-
```tut
33+
```scala mdoc
3434
import scala.annotation.tailrec
3535

3636
def factorial(x: Int): Int = {

_ba/tour/basics.md

+26-26
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Izrazi su izjave koje imaju vrijednost.
3030
```
3131
Rezultate izraza možete prikazati pomoću `println`.
3232

33-
```tut
33+
```scala mdoc
3434
println(1) // 1
3535
println(1 + 1) // 2
3636
println("Hello!") // Hello!
@@ -41,7 +41,7 @@ println("Hello," + " world!") // Hello, world!
4141

4242
Rezultatima možete dodijeliti naziv pomoću ključne riječi `val`.
4343

44-
```tut
44+
```scala mdoc
4545
val x = 1 + 1
4646
println(x) // 2
4747
```
@@ -51,13 +51,13 @@ Referenciranje vrijednosti ne okida njeno ponovno izračunavanje.
5151

5252
Vrijednosti se ne mogu mijenjati.
5353

54-
```tut:fail
54+
```scala mdoc:fail
5555
x = 3 // Ovo se ne kompajlira.
5656
```
5757

5858
Tipovi vrijednosti mogu biti (automatski) zaključeni, ali možete i eksplicitno navesti tip:
5959

60-
```tut
60+
```scala mdoc:reset
6161
val x: Int = 1 + 1
6262
```
6363

@@ -67,15 +67,15 @@ Primijetite da deklaracija tipa `Int` dolazi nakon identifikatora `x`. Također
6767

6868
Varijable 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
7171
var x = 1 + 1
7272
x = 3 // Ovo se kompajlira jer je "x" deklarisano s "var" ključnom riječju.
7373
println(x * x) // 9
7474
```
7575

7676
Kao i s vrijednostima, tip možete eksplicitno navesti ako želite:
7777

78-
```tut
78+
```scala mdoc:reset
7979
var x: Int = 1 + 1
8080
```
8181

@@ -86,7 +86,7 @@ Izraze možete kombinovati okružujući ih s `{}`. Ovo se naziva blok.
8686

8787
Rezultat zadnjeg izraza u bloku je rezultat cijelog bloka, također.
8888

89-
```tut
89+
```scala mdoc
9090
println({
9191
val x = 1 + 1
9292
x + 1
@@ -99,29 +99,29 @@ Funkcije su izrazi koji primaju parametre.
9999

100100
Mož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

106106
Na lijevoj strani `=>` je lista parametara. Na desnoj strani je izraz koji koristi date parametre.
107107

108108
Funkcije možete i imenovati.
109109

110-
```tut
110+
```scala mdoc
111111
val addOne = (x: Int) => x + 1
112112
println(addOne(1)) // 2
113113
```
114114

115115
Funkcije mogu imati više parametara.
116116

117-
```tut
117+
```scala mdoc
118118
val add = (x: Int, y: Int) => x + y
119119
println(add(1, 2)) // 3
120120
```
121121

122122
Ili bez parametara.
123123

124-
```tut
124+
```scala mdoc
125125
val getTheAnswer = () => 42
126126
println(getTheAnswer()) // 42
127127
```
@@ -132,7 +132,7 @@ Metode izgledaju i ponašaju se vrlo slično funkcijama, ali postoji nekoliko ra
132132

133133
Metode 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
136136
def add(x: Int, y: Int): Int = x + y
137137
println(add(1, 2)) // 3
138138
```
@@ -141,14 +141,14 @@ Primijetite da je povratni tip deklarisan _nakon_ liste parametara i dvotačke `
141141

142142
Metode mogu imati više listi parametara.
143143

144-
```tut
144+
```scala mdoc
145145
def addThenMultiply(x: Int, y: Int)(multiplier: Int): Int = (x + y) * multiplier
146146
println(addThenMultiply(1, 2)(3)) // 9
147147
```
148148

149149
Ili bez listi parametara ikako.
150150

151-
```tut
151+
```scala mdoc
152152
def name: String = System.getProperty("name")
153153
println("Hello, " + name + "!")
154154
```
@@ -158,7 +158,7 @@ Postoje i neke druge razlike, ali zasad, možete misliti o njima kao nečemu sli
158158
Metode mogu imati višelinijske izraze također.
159159

160160
{% scalafiddle %}
161-
```tut
161+
```scala mdoc
162162
def 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

174174
Klasu možete definisati ključnom riječju `class` praćenom imenom i parametrima konstruktora.
175175

176-
```tut
176+
```scala mdoc
177177
class 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

187187
Instancu klase možete kreirati pomoću ključne riječi `new`.
188188

189-
```tut
189+
```scala mdoc
190190
val greeter = new Greeter("Hello, ", "!")
191191
greeter.greet("Scala developer") // Hello, Scala developer!
192192
```
@@ -198,21 +198,21 @@ Detaljniji pregled klasa biće dat [kasnije](classes.html).
198198
Scala ima poseban tip klase koji se zove "case" klasa.
199199
Po 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
202202
case class Point(x: Int, y: Int)
203203
```
204204

205205
Instancu case klase možete kreirati i bez ključne riječi `new`.
206206

207-
```tut
207+
```scala mdoc
208208
val point = Point(1, 2)
209209
val anotherPoint = Point(1, 2)
210210
val yetAnotherPoint = Point(2, 2)
211211
```
212212

213213
I porede se po vrijednosti.
214214

215-
```tut
215+
```scala mdoc
216216
if (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).
235235
Objekti su jedine instance svojih definicija. Možete misliti o njima kao singltonima svoje vlastite klase.
236236
Objekte možete definisati ključnom riječju `object`.
237237

238-
```tut
238+
```scala mdoc
239239
object IdFactory {
240240
private var counter = 0
241241
def create(): Int = {
@@ -247,7 +247,7 @@ object IdFactory {
247247

248248
Objektima možete pristupati referenciranjem njihovog imena.
249249

250-
```tut
250+
```scala mdoc
251251
val newId: Int = IdFactory.create()
252252
println(newId) // 1
253253
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
262262

263263
Definišu se pomoću `trait` ključne riječi.
264264

265-
```tut
265+
```scala mdoc:reset
266266
trait Greeter {
267267
def greet(name: String): Unit
268268
}
269269
```
270270

271271
Metode trejtova mogu imati defaultnu implementaciju.
272272

273-
```tut
273+
```scala mdoc:reset
274274
trait Greeter {
275275
def greet(name: String): Unit =
276276
println("Hello, " + name + "!")
@@ -279,7 +279,7 @@ trait Greeter {
279279

280280
Mož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
283283
class DefaultGreeter extends Greeter
284284

285285
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
306306

307307
Koristeći objekt, možete definisati glavnu metodu ovako:
308308

309-
```tut
309+
```scala mdoc
310310
object Main {
311311
def main(args: Array[String]): Unit =
312312
println("Hello, Scala developer!")

_ba/tour/by-name-parameters.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ previous-page: operators
1313
_By-name parametri_ (u slobodnom prevodu "po-imenu parametri") se izračunavaju samo kada se koriste.
1414
Oni su kontrastu sa _by-value parametrima_ ("po-vrijednosti parametri").
1515
Da bi parametar bio pozivan by-name, dodajte `=>` prije njegovog tipa.
16-
```tut
16+
```scala mdoc
1717
def calculate(input: => Int) = input * 37
1818
```
1919
By-name parametri imaju prednost da se ne izračunavaju ako se ne koriste u tijelu funkcije.
2020
U drugu ruku, by-value parametri imaju prednost da se izračunavaju samo jednom.
2121

2222
Ovo je primjer kako bi mogli implementirati while petlju:
2323

24-
```tut
24+
```scala mdoc
2525
def whileLoop(condition: => Boolean)(body: => Unit): Unit =
2626
if (condition) {
2727
body

_ba/tour/case-classes.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ U sljedećem koraku turneje, vidjećemo kako su korisne u [podudaranju uzoraka (
1717

1818
## Definisanje case klase
1919
Minimalna case klasa se sastoji iz ključnih riječi `case class`, identifikatora, i liste parametara (koja može biti prazna):
20-
```tut
20+
```scala mdoc
2121
case class Book(isbn: String)
2222

2323
val frankenstein = Book("978-0486282114")

_ba/tour/classes.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Tipovi, objekti i trejtovi biće pokriveni kasnije.
1818

1919
## Definisanje klase
2020
Minimalna definicija klase sastoji se od riječi `class` i identifikatora. Imena klasa bi trebala počinjati velikim slovom.
21-
```tut
21+
```scala mdoc
2222
class User
2323

2424
val user1 = new User
@@ -28,7 +28,7 @@ Ključna riječ `new` koristi se za kreiranje instance klase.
2828
Međutim, često ćete imati konstruktor i tijelo klase.
2929
Slijedi definicija klase `Point` (en. tačka):
3030

31-
```tut
31+
```scala mdoc
3232
class Point(var x: Int, var y: Int) {
3333

3434
def move(dx: Int, dy: Int): Unit = {
@@ -56,7 +56,7 @@ Pošto `toString` prebrisava metodu `toString` iz [`AnyRef`](unified-types.html)
5656

5757
Konstruktori mogu imati opcione parametre koristeći podrazumijevane vrijednosti:
5858

59-
```tut
59+
```scala mdoc:reset
6060
class Point(var x: Int = 0, var y: Int = 0)
6161

6262
val origin = new Point // x and y are both set to 0
@@ -67,7 +67,7 @@ println(point1.x) // prints 1
6767

6868
U ovoj verziji klase `Point`, `x` i `y` imaju podrazumijevanu vrijednost `0` tako da ne morate proslijediti argumente.
6969
Međutim, pošto se argumenti konstruktora čitaju s lijeva na desno, ako želite proslijediti samo `y` vrijednost, morate imenovati parametar.
70-
```
70+
```scala mdoc:reset
7171
class Point(var x: Int = 0, var y: Int = 0)
7272
val point2 = new Point(y=2)
7373
println(point2.y) // prints 2
@@ -78,7 +78,7 @@ Ovo je također dobra praksa zbog poboljšanja čitljivosti.
7878
## Privatni članovi i sintaksa getera/setera
7979
Članovi su javni (`public`) po defaultu.
8080
Koristite `private` modifikator pristupa da sakrijete članove klase.
81-
```tut
81+
```scala mdoc:reset
8282
class Point {
8383
private var _x = 0
8484
private var _y = 0
@@ -108,14 +108,14 @@ Primijetite specijalnu sintaksu za setere: metoda ima `_=` nadodano na identifik
108108

109109
Parametri primarnog konstruktora s `val` i `var` su javni.
110110
Međutim, pošto su `val` nepromjenjivi, ne možete napisati sljedeće.
111-
```
111+
```scala mdoc:fail
112112
class Point(val x: Int, val y: Int)
113113
val point = new Point(1, 2)
114114
point.x = 3 // <-- does not compile
115115
```
116116

117117
Parametri bez `val` ili `var` su privatne vrijednosti, vidljive samo unutar klase.
118-
```
118+
```scala mdoc:fail
119119
class Point(x: Int, y: Int)
120120
val point = new Point(1, 2)
121121
point.x // <-- does not compile

_ba/tour/compound-types.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ U Scali ovo može biti izraženo pomoću *složenih tipova*, koji su presjeci ti
1515

1616
Pretpostavimo da imamo dva trejta: `Cloneable` i `Resetable`:
1717

18-
```tut
18+
```scala mdoc
1919
trait Cloneable extends java.lang.Cloneable {
2020
override def clone(): Cloneable = {
2121
super.clone().asInstanceOf[Cloneable]

_ba/tour/default-parameter-values.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ prerequisite-knowledge: named-arguments, function syntax
1313

1414
Scala omogućuje davanje podrazumijevanih vrijednosti parametrima koje dozvoljavaju korisniku metode da izostavi te parametre.
1515

16-
```tut
16+
```scala mdoc
1717
def log(message: String, level: String = "INFO") = println(s"$level: $message")
1818

1919
log("System starting") // prints INFO: System starting
@@ -22,7 +22,7 @@ log("User not found", "WARNING") // prints WARNING: User not found
2222

2323
Parametar `level` ima podrazumijevanu vrijednost tako da je opcioni. Na zadnjoj liniji, argument `"WARNING"` prebrisava podrazumijevani argument `"INFO"`. Gdje biste koristili overloadane metode u Javi, možete koristiti metode s opcionim parametrima da biste postigli isti efekat. Međutim, ako korisnik izostavi argument, bilo koji sljedeći argumenti moraju biti imenovani.
2424

25-
```tut
25+
```scala mdoc
2626
class Point(val x: Double = 0, val y: Double = 0)
2727

2828
val point1 = new Point(y = 1)
@@ -31,7 +31,7 @@ Ovdje moramo reći `y = 1`.
3131

3232
Podrazumijevani parametri u Scali nisu opcioni kada se koriste iz Java koda:
3333

34-
```tut
34+
```scala mdoc:reset
3535
// Point.scala
3636
class Point(val x: Double = 0, val y: Double = 0)
3737
```

0 commit comments

Comments
 (0)