вторник, 27 июня 2017 г.

Swift 6. Strings and Characters

В этом уроке рассмотрены строки String и символы Character.
Домашнее задание 6 урок:

1. Выполните задание 
 Создать пять строковых констант
Одни константы это только цифры, другие содержат еще и буквы

Найти сумму всех этих констант приведя их к Int
только вместо forced unwrapping и optional binding используйте оператор ??

Когда посчитаете сумму, то представьте свое выражение в виде строки
Например: 5 + nil + 2 + 3 + nil = 10

но в первом случае используйте интерполяцию строк, а во втором конкатенацию

2. Поиграйтесь с юникодом и создайте строку из 5 самых классных по вашему мнению символов,
можно использовать составные символы. Посчитайте длину строки методом SWIFT и Obj-C

3. Создайте строку английский алфавит, все буквы малые от a до z

задайте константу - один из символов этого алфавита

Используя цикл for определите под каким индексов в строке находится этот символ


import Foundation
//Lesson 6. Strings and Characters

/*
 1. Выполните задание #1 урока о базовых операторах: http://vk.com/topic-58860049_31536965
 только вместо forced unwrapping и optional binding используйте оператор ??

 Когда посчитаете сумму, то представьте свое выражение в виде строки
 Например: 5 + nil + 2 + 3 + nil = 10

 но в первом случае используйте интерполяцию строк, а во втором конкатенацию
 */
print("N1\n")

let arrayString = ["2", "a32", "4", "b", "4"]
var sum = 0
var sumString = ""
for stringInt in arrayString {
    let value = Int(stringInt)
    sum += value ?? 0
    if !sumString.isEmpty {
        sumString += " + "
    }
    if let intValue = value {
        sumString += String(intValue)
    } else {
        sumString += "nil"
    }
}
print("\(sumString) = \(sum)")

/*
 2. Поиграйтесь с юникодом и создайте строку из 5 самых классных по вашему мнению символов,
 можно использовать составные символы. Посчитайте длину строки методом SWIFT и Obj-C
 */

print("\nN2\n")

let stringUnicode = "\u{1F436} \u{1F496} \u{1F425} \u{1F431} \u{1F428}"

print(stringUnicode)
print("Length Swift : \(stringUnicode.characters.count). Length Objective-C: \((stringUnicode as NSString).length)")

/*
 3. Создайте строку английский алфавит, все буквы малые от a до z

 задайте константу - один из символов этого алфавита

 Используя цикл for определите под каким индексов в строке находится этот символ
 */
print("\nN3\n")

let alphabetString = "abcdefghijklmnopqrstuvwxyz"
var searchCharacter: Character = "m"
let index = alphabetString.index(of: searchCharacter)
var indexFor = 0
for letter in alphabetString {
    if letter == searchCharacter {
        print("Index \"\(searchCharacter)\" in Alphabet: \"\(alphabetString)\" is: \(indexFor)")
        break
    }
    indexFor += 1
}
if indexFor == alphabetString.characters.count  {
    print("Character \"\(searchCharacter)\" not found in Alphabet: \"\(alphabetString)\"")
}

*************************************************************************

N1

2 + nil + 4 + nil + 4 = 10

N2

🐶 💖 🐥 🐱 🐨
Length Swift : 9. Length Objective-C: 14

N3

Index "m" in Alphabet: "abcdefghijklmnopqrstuvwxyz" is: 12

Комментариев нет:

Отправить комментарий