mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
[swift/ru] Fixing Russian translation for Swift
This commit is contained in:
parent
5247e35e06
commit
563b6e2400
@ -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?()
|
||||
|
Loading…
Reference in New Issue
Block a user