diff --git a/_ru/tour/basics.md b/_ru/tour/basics.md index bf0257a403..3e1af6c80c 100644 --- a/_ru/tour/basics.md +++ b/_ru/tour/basics.md @@ -30,11 +30,11 @@ previous-page: tour-of-scala ## Выражения -Выражения - это вычислимые утверждения. +Выражения — это вычислимые утверждения. ``` 1 + 1 ``` -Вы можете выводить результаты выражений используя `println`. +Вы можете выводить результаты выражений, используя `println`. {% scalafiddle %} ```tut @@ -92,7 +92,7 @@ var x: Int = 1 + 1 Вы можете комбинировать выражения, окружая их `{}`. Мы называем это блоком. -Результат последнего выражения в блоке - будет результатом всего блока в целом. +Результат последнего выражения в блоке будет результатом всего блока в целом. ```tut println({ @@ -103,15 +103,15 @@ println({ ## Функции -Функции - это выражения, которые принимают параметры. +Функции — это выражения, которые принимают параметры. -Вы можете определить анонимную функцию (т.е. без имени), которая возвращает переданное число прибавив к нему единицу: +Вы можете определить анонимную функцию (т.е. без имени), которая возвращает переданное число, прибавив к нему единицу: ```tut (x: Int) => x + 1 ``` -Слева от `=>` находится список параметров. Справа - выражение, связанное с параметрами. +Слева от `=>` находится список параметров. Справа — выражение, связанное с параметрами. Вы также можете назвать функции. @@ -178,7 +178,7 @@ def getSquareString(input: Double): String = { square.toString } ``` -Последнее выражение в теле становится возвращаемым значением метода. (У Scala есть ключевое слово `return` , но оно практически не используется.) +Последнее выражение в теле становится возвращаемым значением метода (у Scala есть ключевое слово `return`, но оно практически не используется). ## Классы @@ -190,9 +190,9 @@ class Greeter(prefix: String, suffix: String) { println(prefix + name + suffix) } ``` -Возвращаемый тип метода `greet` это `Unit`, используется тогда, когда не имеет смысла что-либо возвращать. Аналогично `void` в Java и C. (Поскольку каждое выражение Scala должно иметь какое-то значение, то при отсутствии возвращающегося значения, возвращается экземпляр типа Unit. Явным образом его можно задать как `()`, он не несет какой-либо информации.) +Возвращаемый тип метода `greet` это `Unit`, используется тогда, когда не имеет смысла что-либо возвращать. Аналогично `void` в Java и C. Поскольку каждое выражение Scala должно иметь какое-то значение, то при отсутствии возвращающегося значения возвращается экземпляр типа Unit. Явным образом его можно задать как `()`, он не несет какой-либо информации. -Вы можете создать экземпляр класса используя ключевое слово `new`. +Вы можете создать экземпляр класса, используя ключевое слово `new`. ```tut val greeter = new Greeter("Hello, ", "!") @@ -201,15 +201,15 @@ greeter.greet("Scala developer") // Hello, Scala developer! Позже мы рассмотрим классы [подробнее](classes.html). -## Классы образцы (Case Class) +## Классы-образцы (Case Class) -В Scala есть специальный тип класса, который называется классом образцом (case class). По умолчанию такие классы неизменны и сравниваются по значению из конструктора. Вы можете объявлять классы образцы с помощью ключевых слов `case class`. +В Scala есть специальный тип класса, который называется классом-образцом (case class). По умолчанию такие классы неизменны и сравниваются по значению из конструктора. Вы можете объявлять классы-образцы с помощью ключевых слов `case class`. ```tut case class Point(x: Int, y: Int) ``` -Можно создавать экземпляры класса образца без использования ключевого слова `new`. +Можно создавать экземпляры класса-образца без использования ключевого слова `new`. ```tut val point = Point(1, 2) @@ -233,11 +233,11 @@ if (point == yetAnotherPoint) { } // Point(1,2) и Point(2,2) разные. ``` -Есть еще много деталей, которые мы бы хотели рассказать про классы образцы, мы уверены, что вы влюбитесь в них! Обязательно рассмотрим их [позже](case-classes.html). +Есть еще много деталей, которые мы бы хотели рассказать про классы-образцы; мы уверены, что вы влюбитесь в них! Обязательно рассмотрим их [позже](case-classes.html). ## Объекты -Объекты задаются и существуют в единственным экземпляре. Вы можете думать о них как об одиночках (сингэлтонах) своего собственного класса. +Объекты задаются и существуют в единственном экземпляре. Вы можете думать о них как об одиночках (синглтонах) своего собственного класса. Вы можете задать объекты при помощи ключевого слова `object`. @@ -264,7 +264,7 @@ println(newerId) // 2 ## Трейты -Трейты - как типы описывают характеристики классов, в нем могут объявляться определенные поля и методы. Трейты можно комбинировать. +Трейты — как типы описывают характеристики классов, в нем могут объявляться определенные поля и методы. Трейты можно комбинировать. Объявить трейт можно с помощью ключевого слова `trait`. @@ -284,7 +284,7 @@ trait Greeter { } ``` -Вы можете наследовать свойства трейтов используя ключевое словом `extends` и переопределять реализацию с помощью ключевого слова `override`. +Вы можете наследовать свойства трейтов, используя ключевое слово `extends` и переопределять реализацию с помощью ключевого слова `override`. ```tut class DefaultGreeter extends Greeter