Привет
Не могу выполнить задание №3.Подскажите,пожалуйста
Создать сабскрипт
kuro
#1
BART96
#2
Подсказать что? Какая у вас ошибка, или в чем недопонимание?
Добавьте код из предыдущих 2х заданий.
Пока что это напоминает “напишите все за меня”
kuro
#4
Добавил)Форум блочил просто,не мог до этого
Недопонимание в том,что в целом я не знаю как в тело субскрипта прописать второй индекс,который будет искать камень в коробке
Jack
#5
typealias Stone = Int
struct Box {
var stones: [Stone?]
subscript(safe index: Int) -> Stone? {
get { stones.indices.contains(index) ? stones[index] : nil }
set { if stones.indices.contains(index) { stones[index] = newValue } }
}
}
struct Person {
var boxies: [Box]
subscript(boxId bId: Int, stoneId sId: Int) -> Stone? {
get { boxies.indices.contains(bId) ? boxies[bId][safe: sId] : nil }
set { if boxies.indices.contains(bId) { boxies[bId][safe: sId] = newValue } }
}
}
let persons: [Person] = [.init(boxies: [.init(stones: [1, 2, 3]), .init(stones: [4, 5, 6]), .init(stones: [7, 8, 9]), .init(stones: [11, 12, 13])])]
print(persons)
print(persons[0][boxId: 1, stoneId: 1])
Может что-то такое?
kuro
#6
ну вообще в задании нужно создать 3 класса(структуры)
Как я понимаю Камни должны быть классом(структурой) тоже
Jack
#7
Ваш вопрос был относительно subscript,
И в данной реализации камень также является структурой