Skip to content

Commit a79224b

Browse files
committed
drop lossy implicit conversion
1 parent f42f33e commit a79224b

File tree

10 files changed

+29
-29
lines changed

10 files changed

+29
-29
lines changed

_ba/tour/unified-types.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ Dijagram ispod prikazuje hijerarhiju Scala klasa.
1818

1919
## Hijerarhija tipova u Scali ##
2020

21-
[`Any`](https://www.scala-lang.org/api/2.12.1/scala/Any.html) je nadtip svih tipova, zove se još i vrh-tip.
21+
[`Any`](https://www.scala-lang.org/api/2.12.1/scala/Any.html) je nadtip svih tipova, zove se još i vrh-tip.
2222
Definiše određene univerzalne metode kao što su `equals`, `hashCode` i `toString`.
2323
`Any` ima dvije direktne podklase, `AnyVal` i `AnyRef`.
2424

2525

26-
`AnyVal` predstavlja vrijednosne tipove. Postoji devet predefinisanih vrijednosnih tipova i oni ne mogu biti `null`:
26+
`AnyVal` predstavlja vrijednosne tipove. Postoji devet predefinisanih vrijednosnih tipova i oni ne mogu biti `null`:
2727
`Double`, `Float`, `Long`, `Int`, `Short`, `Byte`, `Char`, `Unit` i `Boolean`.
28-
`Unit` je vrijednosni tip koji ne nosi značajnu informaciju. Postoji tačno jedna instanca tipa `Unit` koja se piše `()`.
28+
`Unit` je vrijednosni tip koji ne nosi značajnu informaciju. Postoji tačno jedna instanca tipa `Unit` koja se piše `()`.
2929
Sve funkcije moraju vratiti nešto tako da je `Unit` ponekad koristan povratni tip.
3030

3131
`AnyRef` predstavlja referencne tipove. Svi nevrijednosni tipovi definišu se kao referencni.
@@ -66,7 +66,7 @@ Npr:
6666

6767
```scala mdoc
6868
val x: Long = 987654321
69-
val y: Float = x // 9.8765434E8 (određena doza preciznosti se gubi ovdje)
69+
val y: Float = x.toFloat // 9.8765434E8 (određena doza preciznosti se gubi ovdje)
7070

7171
val face: Char = '☺'
7272
val number: Int = face // 9786
@@ -76,17 +76,17 @@ Kastovanje je jednosmjerno. Ovo se ne kompajlira:
7676

7777
```
7878
val x: Long = 987654321
79-
val y: Float = x // 9.8765434E8
79+
val y: Float = x.toFloat // 9.8765434E8
8080
val z: Long = y // Does not conform
8181
```
8282

8383
Također možete kastovati i referencni tip u podtip. Ovo će biti pokriveno kasnije.
8484

8585
## Nothing i Null
86-
`Nothing` je podtip svih tipova, također se zove i donji tip (en. bottom type). Ne postoji vrijednost koja ima tip `Nothing`.
86+
`Nothing` je podtip svih tipova, također se zove i donji tip (en. bottom type). Ne postoji vrijednost koja ima tip `Nothing`.
8787
Česta upotreba ovog tipa je signalizacija neterminacije kao što je bacanje izuzetka, izlaz iz programa, ili beskonačna petlja (tj. tip izraza koji se ne izračunava u vrijednost, ili metoda koja se ne završava normalno).
8888

89-
`Null` je podtip svih referencnih tipova (tj. bilo kog podtipa `AnyRef`).
90-
Ima jednu vrijednost koja se piše literalom `null`.
91-
`Null` se uglavnom koristi radi interoperabilnosti s ostalim JVM jezicima i skoro nikad se ne koristi u Scala kodu.
89+
`Null` je podtip svih referencnih tipova (tj. bilo kog podtipa `AnyRef`).
90+
Ima jednu vrijednost koja se piše literalom `null`.
91+
`Null` se uglavnom koristi radi interoperabilnosti s ostalim JVM jezicima i skoro nikad se ne koristi u Scala kodu.
9292
Alternative za `null` obradićemo kasnije.

_ja/tour/unified-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ true
6464

6565
```scala mdoc
6666
val x: Long = 987654321
67-
val y: Float = x // 9.8765434E8 (この場合精度が落ちることに注意してください)
67+
val y: Float = x.toFloat // 9.8765434E8 (この場合精度が落ちることに注意してください)
6868

6969
val face: Char = '☺'
7070
val number: Int = face // 9786
@@ -74,7 +74,7 @@ val number: Int = face // 9786
7474

7575
```
7676
val x: Long = 987654321
77-
val y: Float = x // 9.8765434E8
77+
val y: Float = x.toFloat // 9.8765434E8
7878
val z: Long = y // 一致しない
7979
```
8080

_ko/tour/unified-types.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ true
5959

6060
```scala mdoc
6161
val x: Long = 987654321
62-
val y: Float = x // 9.8765434E8 (이 경우 일부 자리수가 소실되었음을 주의)
62+
val y: Float = x.toFloat // 9.8765434E8 (이 경우 일부 자리수가 소실되었음을 주의)
6363

6464
val face: Char = '☺'
6565
val number: Int = face // 9786
@@ -69,7 +69,7 @@ val number: Int = face // 9786
6969

7070
```
7171
val x: Long = 987654321
72-
val y: Float = x // 9.8765434E8
72+
val y: Float = x.toFloat // 9.8765434E8
7373
val z: Long = y // 적합하지 않음(캐스팅 불가)
7474
```
7575

@@ -78,4 +78,4 @@ val z: Long = y // 적합하지 않음(캐스팅 불가)
7878
# Nothing과 Null
7979
`Nothing`은 모든 타입의 서브타입이며, 바텀타입이라고도 합니다. `Nothing`은 값이 없음을 의미하는 타입니다. 일반적으로 예외 발생, 프로그램 종료 또는 무한 루프와 같은 비 종료 신호를 보내는 용도로 사용합니다 (즉, 값으로 평가되지 않는 표현식의 타입 또는 정상적으로 반환되지 않는 메소드).
8080

81-
`Null`은 모든 참조 타입의 서브타입입니다(즉, AnyRef의 모든 서브타입). 예약어 `null`로 식별되는 단일 값을 갖습니다. `Null`은 주로 다른 JVM 언어와의 상호 운용성을 위해 제공되며 스칼라 코드에서는 거의 사용되지 않아야합니다. 우리는 투어에서 나중에 `null`에 대한 대안을 다룰 것입니다.
81+
`Null`은 모든 참조 타입의 서브타입입니다(즉, AnyRef의 모든 서브타입). 예약어 `null`로 식별되는 단일 값을 갖습니다. `Null`은 주로 다른 JVM 언어와의 상호 운용성을 위해 제공되며 스칼라 코드에서는 거의 사용되지 않아야합니다. 우리는 투어에서 나중에 `null`에 대한 대안을 다룰 것입니다.

_overviews/scala3-book/first-look-at-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ You can only cast to a type if there is no loss of information. Otherwise, you n
305305
{% tab 'Scala 2 and 3' for=cast2 %}
306306
```scala
307307
val x: Long = 987654321
308-
val y: Float = x.toFloat // 9.8765434E8 (note that `.toFloat` is required because the cast results in precision loss)
308+
val y: Float = x.toFloat.toFloat // 9.8765434E8 (note that `.toFloat` is required because the cast results in precision loss)
309309
val z: Long = y // Error
310310
```
311311
{% endtab %}

_pl/tour/unified-types.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Dla przykładu:
7070

7171
```scala mdoc
7272
val x: Long = 987654321
73-
val y: Float = x // 9.8765434E8 (w tym wypadku tracimy część precyzji)
73+
val y: Float = x.toFloat // 9.8765434E8 (w tym wypadku tracimy część precyzji)
7474

7575
val face: Char = '☺'
7676
val number: Int = face // 9786
@@ -80,7 +80,7 @@ Rzutowanie jest jednokierunkowe, następujący kod nie zadziała:
8080

8181
```
8282
val x: Long = 987654321
83-
val y: Float = x // 9.8765434E8
83+
val y: Float = x.toFloat // 9.8765434E8
8484
val z: Long = y // Błąd: Does not conform
8585
```
8686

@@ -91,11 +91,11 @@ Zostanie to dokładniej omówione w kolejnych rozdziałach.
9191

9292
`Nothing` jest podtypem wszystkich typów, istnieje na samym dole hierarchii i jest nazywany typem dolnym (bottom type).
9393
Nie istnieje żadna wartość typu `Nothing`.
94-
Częstym przykładem użycia jest zasygnalizowanie stanów nieoznaczonych np. wyrzucony wyjątek, wyjście z programu,
95-
nieskończona pętla (ściślej mówiąc - jest to typ wyrażenia które nie ewaluuje na żadną wartość lub metoda, która nie zwraca wyniku).
94+
Częstym przykładem użycia jest zasygnalizowanie stanów nieoznaczonych np. wyrzucony wyjątek, wyjście z programu,
95+
nieskończona pętla (ściślej mówiąc - jest to typ wyrażenia które nie ewaluuje na żadną wartość lub metoda, która nie zwraca wyniku).
9696

9797
`Null` jest podtypem wszystkich typów referencyjnych (wszystkich podtypów `AnyRef`).
9898
Ma pojedynczą wartosć identyfikowaną przez słowo kluczowe `null`.
99-
`Null` przydaje się głównie do współpracy z innymi językami platformy JVM i nie powinien być praktycznie nigdy używany
99+
`Null` przydaje się głównie do współpracy z innymi językami platformy JVM i nie powinien być praktycznie nigdy używany
100100
w kodzie w jęzku Scala.
101101
W dalszej części przewodnika omówimy alternatywy dla `null`.

_ru/tour/unified-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ true
5555

5656
```scala mdoc
5757
val x: Long = 987654321
58-
val y: Float = x // 9.8765434E8 (заметьте, что некоторая точность теряется в этом случае.)
58+
val y: Float = x.toFloat // 9.8765434E8 (заметьте, что некоторая точность теряется в этом случае.)
5959

6060
val face: Char = '☺'
6161
val number: Int = face // 9786
@@ -65,7 +65,7 @@ val number: Int = face // 9786
6565

6666
```
6767
val x: Long = 987654321
68-
val y: Float = x // 9.8765434E8
68+
val y: Float = x.toFloat // 9.8765434E8
6969
val z: Long = y // обратно не подходит
7070
```
7171

_th/tour/unified-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Value type สามารถแปลได้ด้วยวิธีดัง
5757

5858
```scala mdoc
5959
val x: Long = 987654321
60-
val y: Float = x // 9.8765434E8 (หมายเหตุว่าค่าความละเอียดจะสูญหายไปในกรณีนี้)
60+
val y: Float = x.toFloat // 9.8765434E8 (หมายเหตุว่าค่าความละเอียดจะสูญหายไปในกรณีนี้)
6161

6262
val face: Char = '☺'
6363
val number: Int = face // 9786
@@ -67,7 +67,7 @@ val number: Int = face // 9786
6767

6868
```
6969
val x: Long = 987654321
70-
val y: Float = x // 9.8765434E8
70+
val y: Float = x.toFloat // 9.8765434E8
7171
val z: Long = y // ไม่เป็นไปตามที่ต้องการ
7272
```
7373

_tour/unified-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ For example:
6363
{% tab 'Scala 2 and 3' for=unified-types-2 %}
6464
```scala mdoc
6565
val x: Long = 987654321
66-
val y: Float = x // 9.8765434E8 (note that some precision is lost in this case)
66+
val y: Float = x.toFloat // 9.8765434E8 (note that some precision is lost in this case)
6767

6868
val face: Char = '☺'
6969
val number: Int = face // 9786
@@ -78,7 +78,7 @@ Casting is unidirectional. This will not compile:
7878
{% tab 'Scala 2 and 3' for=unified-types-3 %}
7979
```scala
8080
val x: Long = 987654321
81-
val y: Float = x // 9.8765434E8
81+
val y: Float = x.toFloat // 9.8765434E8
8282
val z: Long = y // Does not conform
8383
```
8484
{% endtab %}

_zh-cn/overviews/scala3-book/first-look-at-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ val number: Int = face // 9786
241241

242242
```scala
243243
val x: Long = 987654321
244-
val y: Float = x.toFloat // 9.8765434E8 (注意 `.toFloat` 是必须的,因为强制类型转换后的精度会损)
244+
val y: Float = x.toFloat.toFloat // 9.8765434E8 (注意 `.toFloat` 是必须的,因为强制类型转换后的精度会损)
245245
val z: Long = y // Error
246246
```
247247

_zh-cn/tour/unified-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ true
5959

6060
```scala mdoc
6161
val x: Long = 987654321
62-
val y: Float = x // 9.8765434E8 (note that some precision is lost in this case)
62+
val y: Float = x.toFloat // 9.8765434E8 (note that some precision is lost in this case)
6363

6464
val face: Char = '☺'
6565
val number: Int = face // 9786
@@ -69,7 +69,7 @@ val number: Int = face // 9786
6969

7070
```
7171
val x: Long = 987654321
72-
val y: Float = x // 9.8765434E8
72+
val y: Float = x.toFloat // 9.8765434E8
7373
val z: Long = y // Does not conform
7474
```
7575

0 commit comments

Comments
 (0)