Skip to content

Commit ee6aad4

Browse files
committed
remove App wrapper objects
1 parent ead8a17 commit ee6aad4

File tree

5 files changed

+36
-44
lines changed

5 files changed

+36
-44
lines changed

_es/tour/abstract-type-members.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,14 @@ abstract class IntSeqBuffer extends SeqBuffer {
4040
type U = Int
4141
}
4242

43-
object AbstractTypeTest1 extends App {
44-
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
45-
new IntSeqBuffer {
46-
type T = List[U]
47-
val element = List(elem1, elem2)
48-
}
49-
val buf = newIntSeqBuf(7, 8)
50-
println("length = " + buf.length)
51-
println("content = " + buf.element)
52-
}
43+
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
44+
new IntSeqBuffer {
45+
type T = List[U]
46+
val element = List(elem1, elem2)
47+
}
48+
val buf = newIntSeqBuf(7, 8)
49+
println("length = " + buf.length)
50+
println("content = " + buf.element)
5351
```
5452

5553
El tipo retornado por el método `newIntSeqBuf` está ligado a la especialización del trait `Buffer` en el cual el tipo `U` es ahora equivalente a `Int`. Existe un tipo alias similar en la instancia de la clase anónima dentro del cuerpo del método `newIntSeqBuf`. En ese lugar se crea una nueva instancia de `IntSeqBuffer` en la cual el tipo `T` está ligado a `List[Int]`.

_ko/tour/abstract-type-members.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,14 @@ previous-page: inner-classes
3636
type U = Int
3737
}
3838

39-
object AbstractTypeTest1 extends App {
40-
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
41-
new IntSeqBuffer {
42-
type T = List[U]
43-
val element = List(elem1, elem2)
44-
}
45-
val buf = newIntSeqBuf(7, 8)
46-
println("length = " + buf.length)
47-
println("content = " + buf.element)
48-
}
39+
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
40+
new IntSeqBuffer {
41+
type T = List[U]
42+
val element = List(elem1, elem2)
43+
}
44+
val buf = newIntSeqBuf(7, 8)
45+
println("length = " + buf.length)
46+
println("content = " + buf.element)
4947

5048
메소드 `newIntSeqBuf`의 반환 타입은 트레잇 `Buffer`의 특수화를 따르며, 타입 `U``Int`와 같아진다. 메소드 `newIntSeqBuf` 내부의 익명 클래스 인스턴스화에서도 비슷한 타입 별칭이 있다. 여기선 `T` 타입이 `List[Int]`를 가리키는 `IntSeqBuf`의 새로운 인스턴스를 생성한다.
5149

_pl/tour/abstract-type-members.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,14 @@ abstract class IntSeqBuffer extends SeqBuffer {
3939
type U = Int
4040
}
4141

42-
object AbstractTypeTest1 extends App {
43-
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
44-
new IntSeqBuffer {
45-
type T = List[U]
46-
val element = List(elem1, elem2)
47-
}
48-
val buf = newIntSeqBuf(7, 8)
49-
println("length = " + buf.length)
50-
println("content = " + buf.element)
51-
}
42+
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
43+
new IntSeqBuffer {
44+
type T = List[U]
45+
val element = List(elem1, elem2)
46+
}
47+
val buf = newIntSeqBuf(7, 8)
48+
println("length = " + buf.length)
49+
println("content = " + buf.element)
5250
```
5351

5452
Typ zwracany przez metodę `newIntSeqBuf` nawiązuje do specjalizacji cechy `Buffer`, w której typ `U` jest równy `Int`. Podobnie w anonimowej klasie tworzonej w metodzie `newIntSeqBuf` określamy `T` jako `List[Int]`.

_pt-br/tour/abstract-type-members.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,14 @@ abstract class IntSeqBuffer extends SeqBuffer {
3939
type U = Int
4040
}
4141

42-
object AbstractTypeTest1 extends App {
43-
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
44-
new IntSeqBuffer {
45-
type T = List[U]
46-
val element = List(elem1, elem2)
47-
}
48-
val buf = newIntSeqBuf(7, 8)
49-
println("length = " + buf.length)
50-
println("content = " + buf.element)
51-
}
42+
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
43+
new IntSeqBuffer {
44+
type T = List[U]
45+
val element = List(elem1, elem2)
46+
}
47+
val buf = newIntSeqBuf(7, 8)
48+
println("length = " + buf.length)
49+
println("content = " + buf.element)
5250
```
5351

5452
O tipo de retorno do método `newIntSeqBuf` refere-se a uma especialização da trait `Buffer` no qual o tipo `U` é agora equivalente a `Int`. Declaramos um tipo *alias* semelhante ao que temos na instanciação da classe anônima dentro do corpo do método `newIntSeqBuf`. Criamos uma nova instância de `IntSeqBuffer` na qual o tipo `T` refere-se a `List[Int]`.

_tour/abstract-type-members.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ previous-page: inner-classes
88
topics: abstract type members
99
prerequisite-knowledge: variance, upper-type-bound
1010

11-
redirect_from:
11+
redirect_from:
1212
- "/tutorials/tour/abstract-types.html"
1313
- "/tour/abstract-types.html"
1414
---
@@ -44,9 +44,9 @@ abstract class IntSeqBuffer extends SeqBuffer {
4444

4545
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
4646
new IntSeqBuffer {
47-
type T = List[U]
48-
val element = List(elem1, elem2)
49-
}
47+
type T = List[U]
48+
val element = List(elem1, elem2)
49+
}
5050
val buf = newIntSeqBuf(7, 8)
5151
println("length = " + buf.length)
5252
println("content = " + buf.element)

0 commit comments

Comments
 (0)