File tree 2 files changed +15
-15
lines changed
2 files changed +15
-15
lines changed Original file line number Diff line number Diff line change @@ -22,17 +22,17 @@ Kroz sljedeći primjer vidjećemo zašto je ovo korisno:
22
22
23
23
``` tut:fail
24
24
trait Node[+B] {
25
- def prepend(elem: B): Unit
25
+ def prepend(elem: B): Node[B]
26
26
}
27
27
28
28
case class ListNode[+B](h: B, t: Node[B]) extends Node[B] {
29
- def prepend(elem: B) = ListNode[B](elem, this)
29
+ def prepend(elem: B): ListNode[B] = ListNode (elem, this)
30
30
def head: B = h
31
- def tail = t
31
+ def tail: Node[B] = t
32
32
}
33
33
34
34
case class Nil[+B]() extends Node[B] {
35
- def prepend(elem: B) = ListNode[B](elem, this)
35
+ def prepend(elem: B): ListNode[B] = ListNode (elem, this)
36
36
}
37
37
```
38
38
@@ -48,17 +48,17 @@ Ovo radimo uvođenjem novog tipskog parametra `U` koji ima `B` kao svoju donju g
48
48
49
49
``` tut
50
50
trait Node[+B] {
51
- def prepend[U >: B](elem: U)
51
+ def prepend[U >: B](elem: U): Node[U]
52
52
}
53
53
54
54
case class ListNode[+B](h: B, t: Node[B]) extends Node[B] {
55
- def prepend[U >: B](elem: U) = ListNode[U](elem, this)
55
+ def prepend[U >: B](elem: U): ListNode[U] = ListNode (elem, this)
56
56
def head: B = h
57
- def tail = t
57
+ def tail: Node[B] = t
58
58
}
59
59
60
60
case class Nil[+B]() extends Node[B] {
61
- def prepend[U >: B](elem: U) = ListNode[U](elem, this)
61
+ def prepend[U >: B](elem: U): ListNode[U] = ListNode (elem, this)
62
62
}
63
63
```
64
64
Original file line number Diff line number Diff line change @@ -20,17 +20,17 @@ Here is an example where this is useful:
20
20
21
21
``` tut:fail
22
22
trait Node[+B] {
23
- def prepend(elem: B): Unit
23
+ def prepend(elem: B): Node[B]
24
24
}
25
25
26
26
case class ListNode[+B](h: B, t: Node[B]) extends Node[B] {
27
- def prepend(elem: B) = ListNode[B](elem, this)
27
+ def prepend(elem: B): ListNode[B] = ListNode (elem, this)
28
28
def head: B = h
29
- def tail = t
29
+ def tail: Node[B] = t
30
30
}
31
31
32
32
case class Nil[+B]() extends Node[B] {
33
- def prepend(elem: B) = ListNode[B](elem, this)
33
+ def prepend(elem: B): ListNode[B] = ListNode (elem, this)
34
34
}
35
35
```
36
36
@@ -46,13 +46,13 @@ trait Node[+B] {
46
46
}
47
47
48
48
case class ListNode[+B](h: B, t: Node[B]) extends Node[B] {
49
- def prepend[U >: B](elem: U) = ListNode[U](elem, this)
49
+ def prepend[U >: B](elem: U): ListNode[U] = ListNode (elem, this)
50
50
def head: B = h
51
- def tail = t
51
+ def tail: Node[B] = t
52
52
}
53
53
54
54
case class Nil[+B]() extends Node[B] {
55
- def prepend[U >: B](elem: U) = ListNode[U](elem, this)
55
+ def prepend[U >: B](elem: U): ListNode[U] = ListNode (elem, this)
56
56
}
57
57
```
58
58
You can’t perform that action at this time.
0 commit comments