You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: modules/10-basics/30-jvm-errors/description.ru.yml
+6-6
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
name: JVM и ошибки
4
4
theory: |
5
-
Вспомним платформу JVM, которую использует Clojure. Часто кишки JVM рантайма выглядывают наружу, из-за чего большинство ошибок во время работы программ трудночитаемыми. Например:
5
+
Вспомним платформу JVM, которую использует Clojure. Часто кишки JVM рантайма выглядывают наружу, из-за чего большинство ошибок во время работы программ оказываются трудночитаемыми. Например:
6
6
7
7
```clojure
8
8
; вызываем (1)
@@ -11,11 +11,11 @@ theory: |
11
11
class java.lang.Long cannot be cast to class clojure.lang.IFn (java.lang.Long is in module java.base of loader 'bootstrap'; clojure.lang.IFn is in unnamed module of loader 'app')
12
12
```
13
13
14
-
Рассмотрим распространенные ошибки, которые возникают и разберемся, что эти ошибки означают:
14
+
Рассмотрим распространенные ошибки и разберемся, что эти ошибки означают:
15
15
16
16
`X can not be cast to Y`
17
17
18
-
Допустим есть тип `X`, но функция, которую вызывают, ожидает, что аргумент будет типом `Y`. Clojure пытается привести тип `X` к типу `Y`, но падает с ошибкой.
18
+
Допустим есть тип `X`, но вызванная функция ожидает, что аргумент будет типом `Y`. Clojure пытается привести тип `X` к типу `Y`, но падает с ошибкой.
19
19
20
20
```clojure
21
21
; вызовем число как функцию
@@ -27,7 +27,7 @@ theory: |
27
27
28
28
`Don't know how to create Y: from X`
29
29
30
-
Ошибка очень схожа с примером выше, ошибка при конвертации `X` типа в `Y`.
30
+
Ошибка очень схожа с примером выше, она возникает при конвертации `X` типа в `Y`.
31
31
32
32
```clojure
33
33
; попробуем проитерироваться по числу, вместо коллекции
@@ -38,7 +38,7 @@ theory: |
38
38
39
39
`Wrong number of args (X) passed to: Y`
40
40
41
-
Здесь понятно из названия, передается неправильное количество аргументов в функцию:
41
+
Здесь понятно из названия, что в функцию передано неправильное количество аргументов:
Такая ошибка возникает во время компиляции Clojure кода, например форма `let`, которая использует для связи идентификатора и данных - вектор, внутри которого два элемента, сам идентификатор и данные. Clojure внутри себя использует `clojure.spec` чтобы провалидровать такие объявления, поэтому сообщение об ошибке может отличаться:
52
+
Такая ошибка возникает во время компиляции Clojure, кода вектор, который используется формой `let`для связывания идентификатора с данными, содержит нечетное количество элементов вместо ожидаемых пар идентификаторов и данных. Clojure внутри себя использует `clojure.spec` чтобы провалидровать такие объявления, поэтому сообщение об ошибке может отличаться:
0 commit comments