В 10 уроке рассматриваются функции.
Домашнее задание к 10 уроку:
Домашнее задание к 10 уроку:
/*
1. Создайте пару функций с короткими именами, которые возвращают строку с классным символом или символами. Например heart() возвращает сердце и т.п. Вызовите все эти функции внутри принта для вывода строки этих символов путем конкатенации.
2. Опять шахматные клетки. Реализовать функцию, которая принимает букву и символ и возвращает строку “белая” или “черная”. Строку потом распечатайте в консоль
3. Создайте функцию, которая принимает массив, а возвращает массив в обратном порядке. Можете создать еще одну, которая принимает последовательность и возвращает массив в обратном порядке. Чтобы не дублировать код, сделайте так, чтобы функция с последовательностью вызывала первую.
4. Разберитесь с inout самостоятельно и выполните задание номер 3 так, чтобы функция не возвращала перевернутый массив, но меняла элементы в существующем. Что будет если убрать inout?
5. Создайте функцию, которая принимает строку, убирает из нее все знаки препинания, делает все гласные большими буквами, согласные маленькими, а цифры меняет на соответствующие слова (9 -> nine и тд)
*/
/*
1
*/
func cat() -> String {
return "🐱"
}
func chik() -> String {
return "🐥"
}
func dog() -> String {
return "🐶"
}
func sheep() -> String {
return "🐑"
}
print(cat() + chik() + dog() + sheep())
/*
2
*/
print("\nN 2 \n")
func blackOrWhite(char: Character, digit yIndex: Int) -> String {
let chessChars = "abcdefgh"
if let index = chessChars.index(of: char) {
let xIndex = index.encodedOffset
return (xIndex + yIndex) % 2 > 0 ? "Black" : "White"
} else {
return "Error range"
}
}
print("a2: ", blackOrWhite(char: "a", digit: 2))
/*
3
*/
print("\nN 3 \n")
func reverseArray(intArray: [Int]) -> [Int] {
return intArray.reversed()
}
func reverseSequence(intSequence: Int...) -> [Int] {
return reverseArray(intArray: intSequence)
}
var array = [1, 2, 3, 4, 5]
let resultArray = reverseArray(intArray: array)
print("Start array: \(array). New Array: \(resultArray)")
print("Finish sequence:", reverseSequence(intSequence: 10, 20, 30, 40, 50))
/*
4
*/
print("\nN 4 \n")
func reverseCurrentArray(intArray: inout [Int]) {
intArray = intArray.reversed()
}
print("Start array:", array)
reverseCurrentArray(intArray: &array)
print("After modify array:", array)
/*
5
*/
print("\nN 5 \n")
var text = "1. Swift makes 1053 it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s Element type. For example:"
func textModification(text: inout String) {
var resultText = ""
let digitDictionary = [0: "Zero", 1: "One", 2: "Two", 3: "Three", 4: "Four", 5: "Five", 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine"]
for symbol in text {
let lowerCaseSymbol = String(symbol).lowercased()
switch lowerCaseSymbol {
case "a", "e", "i", "o", "u", "y":
resultText += lowerCaseSymbol.uppercased()
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "z":
resultText += lowerCaseSymbol
case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9":
if let word = digitDictionary[Int(lowerCaseSymbol)!] {
resultText += word
}
default:
resultText += " "
}
text = resultText
}
}
print("Start Text: \n", text)
textModification(text: &text)
print("Modify Text: \n", text)
Console:
🐱🐥🐶🐑
N 2
a2: White
N 3
Start array: [1, 2, 3, 4, 5]. New Array: [5, 4, 3, 2, 1]
Finish sequence: [50, 40, 30, 20, 10]
N 4
Start array: [1, 2, 3, 4, 5]
After modify array: [5, 4, 3, 2, 1]
N 5
Start Text:
1. Swift makes 1053 it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s Element type. For example:
Modify Text:
One swIft mAkEs OneZeroFiveThree It EAsY tO crEAtE ArrAYs In YOUr cOdE UsIng An ArrAY lItErAl sImplY sUrrOUnd A cOmmA sEpArAtEd lIst Of vAlUEs wIth sqUArE brAckEts wIthOUt AnY OthEr InfOrmAtIOn swIft crEAtEs An ArrAY thAt InclUdEs thE spEcIfIEd vAlUEs AUtOmAtIcAllY InfErrIng thE ArrAY s ElEmEnt tYpE fOr ExAmplE
Комментариев нет:
Отправить комментарий