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