В этом уроке рассматриваются опционалы - типы у которых значения, могут быть nil.
Домашнее задание:
1. Создать пять строковых констант
Одни константы это только цифры, другие содержат еще и буквы
Найти сумму всех этих констант приведя их к Int
(Используйте и optional binding и forced unwrapping)
2. С сервера к нам приходит тюпл с тремя параметрами:
statusCode, message, errorMessage (число, строка и строка)
в этом тюпле statusCode всегда содержит данные, но сама строка приходит только в одном поле
если statusCode от 200 до 300 исключительно, то выводите message,
в противном случает выводите errorMessage
После этого проделайте тоже самое только без участия statusCode
3. Создайте 5 тюплов с тремя параметрами:
имя, номер машины, оценка за контрольную
при создании этих тюплов не должно быть никаких данных
после создания каждому студенту установите имя
некоторым установите номер машины
некоторым установите результат контрольной
выведите в консоль:
- имена студента
- есть ли у него машина
- если да, то какой номер
- был ли на контрольной
- если да, то какая оценка
Домашнее задание:
1. Создать пять строковых констант
Одни константы это только цифры, другие содержат еще и буквы
Найти сумму всех этих констант приведя их к Int
(Используйте и optional binding и forced unwrapping)
2. С сервера к нам приходит тюпл с тремя параметрами:
statusCode, message, errorMessage (число, строка и строка)
в этом тюпле statusCode всегда содержит данные, но сама строка приходит только в одном поле
если statusCode от 200 до 300 исключительно, то выводите message,
в противном случает выводите errorMessage
После этого проделайте тоже самое только без участия statusCode
3. Создайте 5 тюплов с тремя параметрами:
имя, номер машины, оценка за контрольную
при создании этих тюплов не должно быть никаких данных
после создания каждому студенту установите имя
некоторым установите номер машины
некоторым установите результат контрольной
выведите в консоль:
- имена студента
- есть ли у него машина
- если да, то какой номер
- был ли на контрольной
- если да, то какая оценка
//Lesson 4. Optional
/*
1. Создать пять строковых констант
Одни константы это только цифры, другие содержат еще и буквы
Найти сумму всех этих констант приведя их к Int
(Используйте и optional binding и forced unwrapping)
*/
print("1\n")
var sum = 0
let (value1, value2, value3, value4, value5) = ("2", "4b", "1", "1a", "5")
if let intValue1 = Int(value1) {
sum += intValue1
}
if let intValue2 = Int(value2) {
sum += intValue2
}
if let intValue3 = Int(value3) {
sum += intValue3
}
if let intValue4 = Int(value4) {
sum += intValue4
}
if Int(value5) != nil {
sum += Int(value5)!
}
print("Sum:", sum)
/*
2. С сервера к нам приходит тюпл с тремя параметрами:
statusCode, message, errorMessage (число, строка и строка)
в этом тюпле statusCode всегда содержит данные, но сама строка приходит только в одном поле
если statusCode от 200 до 300 исключительно, то выводите message,
в противном случает выводите errorMessage
После этого проделайте тоже самое только без участия statusCode
*/
print("\n2.1\n")
let response: (statusCode: Int, message: String?, errorMessage: String?) = (300, "Response", nil)
if response.statusCode >= 200 && response.statusCode <= 300 {
if let message = response.message {
print("Success. Message:", message)
} else {
print("Success. No Message:")
}
} else {
if let message = response.errorMessage {
print("Error. Message:", message)
} else {
print("Error. No Message:")
}
}
print("\n2.2\n")
if let message = response.message {
print("Success. Message:", message)
} else if let errorMessage = response.errorMessage {
print("Error. Message:", errorMessage)
} else {
print("Error. No Message:")
}
/*
3. Создайте 5 тюплов с тремя параметрами:
имя, номер машины, оценка за контрольную
при создании этих тюплов не должно быть никаких данных
после создания каждому студенту установите имя
некоторым установите номер машины
некоторым установите результат контрольной
выведите в консоль:
- имена студента
- есть ли у него машина
- если да, то какой номер
- был ли на контрольной
- если да, то какая оценка */
print("\n3\n")
var student1: (name: String?, carNumber: String?, mark: Double?)
var student2: (name: String?, carNumber: String?, mark: Double?)
var student3: (name: String?, carNumber: String?, mark: Double?)
var student4: (name: String?, carNumber: String?, mark: Double?)
var student5: (name: String?, carNumber: String?, mark: Double?)
student1.name = "Vasya"
student2.name = "Petia"
student3.name = "Ivan"
student4.name = "Nikolay"
student5.name = "Alex"
student1.carNumber = "AK54"
student1.mark = 4.5
student2.mark = 3.1
student5.carNumber = "RUS"
let arrayStudent = [student1, student2, student3, student4, student5]
for student: (name: String?, carNumber: String?, mark: Double?) in arrayStudent {
let (name, carNumber, mark) = student
if let realName = name {
print("Name:", realName, terminator: " ")
}
if let realNumber = carNumber {
print("Car:", realNumber, terminator: " ")
}
if let realmark = mark {
print("Mark:", realmark, terminator: " ")
}
print("")
}
Комментариев нет:
Отправить комментарий