1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-18 12:31:22 +02:00

[swift/ru] Fixing Russian translation for Swift

This commit is contained in:
TheDmitry
2015-01-25 14:56:52 +03:00
parent 5247e35e06
commit 563b6e2400

View File

@@ -9,11 +9,11 @@ translators:
lang: ru-ru lang: ru-ru
--- ---
Swift - это язык программирования, созданный компанией Apple, для разработки Swift - это язык программирования, созданный компанией Apple, для приложений
приложений iOS и OS X. Разработанный, чтобы сосуществовать с Objective-C и под iOS и OS X. Разработанный, чтобы сосуществовать с Objective-C и
быть более устойчивым к ошибочному коду, Swift был представлен в 2014 году на быть более устойчивым к ошибочному коду, Swift был представлен в 2014 году на
конференции разработчиков Apple, WWDC. Приложения на Swift собираются конференции разработчиков Apple, WWDC. Приложения на Swift собираются
с помощью LLVM компилятора, включенного в Xcode 6+. с помощью LLVM-компилятора, включенного в Xcode 6+.
Официальная книга по [языку программирования Swift](https://itunes.apple.com/us/book/swift-programming-language/id881256329) от Apple доступна в iBooks. Официальная книга по [языку программирования Swift](https://itunes.apple.com/us/book/swift-programming-language/id881256329) от Apple доступна в iBooks.
@@ -27,7 +27,7 @@ import UIKit
// MARK: Основы // MARK: Основы
// //
// Xcode поддерживает заметные маркеры, чтобы давать примечания свою коду // Xcode поддерживает маркеры, чтобы давать примечания своему коду
// и вносить их в список обозревателя (Jump Bar) // и вносить их в список обозревателя (Jump Bar)
// MARK: Метка раздела // MARK: Метка раздела
// TODO: Сделайте что-нибудь вскоре // TODO: Сделайте что-нибудь вскоре
@@ -44,7 +44,7 @@ let π = 3.1415926
let convenience = "Ключевое слово" // контекстное имя переменной let convenience = "Ключевое слово" // контекстное имя переменной
let weak = "Ключевое слово"; let override = "еще ключевое слово" // операторы let weak = "Ключевое слово"; let override = "еще ключевое слово" // операторы
// могут быть отделены точкой с запятой // могут быть отделены точкой с запятой
let `class` = "Ключевое слово" // одинарные кавычки позволяют использовать let `class` = "Ключевое слово" // обратные апострофы позволяют использовать
// ключевые слова в именовании переменных // ключевые слова в именовании переменных
let explicitDouble: Double = 70 let explicitDouble: Double = 70
let intValue = 0007 // 7 let intValue = 0007 // 7
@@ -63,17 +63,17 @@ let piText = "Pi = \(π), Pi 2 = \(π * 2)" // Вставка переменны
println("Значение сборки: \(buildValue)") // Значение сборки: 7 println("Значение сборки: \(buildValue)") // Значение сборки: 7
/* /*
Optional - это особенность языка Swift, которая допускает вам сохранять Опционалы - это особенность языка Swift, которая допускает вам сохранять
`некоторое` или `никакое` значения. `некоторое` или `никакое` значения.
Язык Swift требует, чтобы каждое свойство имело значение, поэтому даже nil Язык Swift требует, чтобы каждое свойство имело значение, поэтому даже nil
должен явно сохранен как Optional значение. должен быть явно сохранен как опциональное значение.
Optional<T> является перечислением. Optional<T> является перечислением.
*/ */
var someOptionalString: String? = "optional" // Может быть nil var someOptionalString: String? = "опционал" // Может быть nil
// как и выше, только ? это постфиксный оператор (синтаксический сахар) // как и выше, только ? - это постфиксный оператор (синтаксический сахар)
var someOptionalString2: Optional<String> = "optional" var someOptionalString2: Optional<String> = "опционал"
if someOptionalString != nil { if someOptionalString != nil {
// я не nil // я не nil
@@ -85,9 +85,9 @@ if someOptionalString != nil {
} }
someOptionalString = nil someOptionalString = nil
// неявная развертка переменной Optional // неявная развертка опциональной переменной
var unwrappedString: String! = "Ожидаемое значение." var unwrappedString: String! = "Ожидаемое значение."
// как и выше, только ! постфиксный оператор (с еще одним синтаксическим сахаром) // как и выше, только ! - постфиксный оператор (с еще одним синтаксическим сахаром)
var unwrappedString2: ImplicitlyUnwrappedOptional<String> = "Ожидаемое значение." var unwrappedString2: ImplicitlyUnwrappedOptional<String> = "Ожидаемое значение."
if let someOptionalStringConstant = someOptionalString { if let someOptionalStringConstant = someOptionalString {
@@ -97,7 +97,7 @@ if let someOptionalStringConstant = someOptionalString {
} }
} }
// Swift поддерживает сохранение значение любого типа // Swift поддерживает сохранение значения любого типа
// AnyObject == id // AnyObject == id
// В отличие от `id` в Objective-C, AnyObject работает с любым значением (Class, // В отличие от `id` в Objective-C, AnyObject работает с любым значением (Class,
// Int, struct и т.д.) // Int, struct и т.д.)
@@ -119,7 +119,7 @@ anyObjectVar = "Изменять значение на строку не явл
/* /*
Массив (Array) и словарь (Dictionary) являются структурами (struct). Так Массив (Array) и словарь (Dictionary) являются структурами (struct). Так
`let` и `var` также означают, что они изменяются (var) или не изменяются (let) `let` и `var` также означают, что они изменяются (var) или не изменяются (let)
при объявлении типов. при объявлении переменных этих типов.
*/ */
// Массив // Массив
@@ -187,12 +187,12 @@ let vegetable = "красный перец"
switch vegetable { switch vegetable {
case "сельдерей": case "сельдерей":
let vegetableComment = "Добавьте немного изюма, имитируя муравьев на бревнышке." let vegetableComment = "Добавьте немного изюма, имитируя муравьев на бревнышке."
case "огурец", "жеруха": case "огурец", "кресс-салат":
let vegetableComment = "Было бы неплохо сделать бутерброд с чаем." let vegetableComment = "Было бы неплохо сделать бутерброд с чаем."
case let localScopeValue where localScopeValue.hasSuffix("перец"): case let localScopeValue where localScopeValue.hasSuffix("перец"):
let vegetableComment = "Это острый \(localScopeValue)?" let vegetableComment = "Это острый \(localScopeValue)?"
default: // обязательный (чтобы преодолеть все возможные вхождения) default: // обязательный (чтобы предусмотреть все возможные вхождения)
let vegetableComment = "Все вкусы хороши для супа." let vegetableComment = "В супе все овощи вкусные."
} }
@@ -208,8 +208,8 @@ default: // обязательный (чтобы преодолеть все в
/** /**
Операция приветствия Операция приветствия
- Жирная метка в документировании - Маркер в документировании
- Еще одна жирная метка в документации - Еще один маркер в документации
:param: name - это имя :param: name - это имя
:param: day - это день :param: day - это день
@@ -289,7 +289,7 @@ numbers = numbers.map({ number in 3 * number })
print(numbers) // [3, 6, 18] print(numbers) // [3, 6, 18]
// Упрощение замыкания // Хвостовое замыкание
numbers = sorted(numbers) { $0 > $1 } numbers = sorted(numbers) { $0 > $1 }
print(numbers) // [18, 6, 3] print(numbers) // [18, 6, 3]
@@ -367,7 +367,7 @@ internal class Rect: Shape {
init(sideLength: Int) { init(sideLength: Int) {
self.sideLength = sideLength self.sideLength = sideLength
// всегда вызывается super.init последним, когда init с параметрами // последним всегда вызывается super.init, когда init с параметрами
super.init() super.init()
} }
@@ -397,7 +397,7 @@ print(mySquare.sideLength) // 4
// преобразование объектов // преобразование объектов
let aShape = mySquare as Shape let aShape = mySquare as Shape
// сравнение объектов, но не как операция ==, которая проверяет эквивалентность // сравнение экземпляров, в отличие от ==, которая проверяет эквивалентность
if mySquare === mySquare { if mySquare === mySquare {
println("Ага, это mySquare") println("Ага, это mySquare")
} }
@@ -422,14 +422,14 @@ enum Suit {
} }
} }
// Значения перечислений допускают жесткий синтаксис, нет необходимости // Значения перечислений допускают сокращенный синтаксис, нет необходимости
// указывать тип перечисления, когда переменная объявляется явно // указывать тип перечисления, когда переменная объявляется явно
var suitValue: Suit = .Hearts var suitValue: Suit = .Hearts
// Нецелочисленные перечисления требуют прямого указания значений // Нецелочисленные перечисления требуют прямого указания значений
enum BookName: String { enum BookName: String {
case John = "John" case John = "Иоанн"
case Luke = "Luke" case Luke = "Лука"
} }
println("Имя: \(BookName.John.rawValue)") println("Имя: \(BookName.John.rawValue)")
@@ -459,7 +459,9 @@ class MyShape: Rect {
func grow() { func grow() {
sideLength += 2 sideLength += 2
// Размещайте знак вопроса перед опционным свойством, методом
// или индексом, чтобы не учитывать nil-значение и возвратить nil
// вместо выбрасывания ошибки выполнения (т.н. "опционная цепочка")
if let allow = self.delegate?.canReshape?() { if let allow = self.delegate?.canReshape?() {
// проверка делегата на выполнение метода // проверка делегата на выполнение метода
self.delegate?.reshaped?() self.delegate?.reshaped?()