Привет, я работаю над некоторыми основными быстрыми упражнениями. Это одно из операторов switch. Я выглядел высоко и низко, но не мог получить правильное объяснение для этого кода.кейс (пусть имя, пусть x)
let tuple = ("Matt", 30)
switch (tuple) {
case (let name, let x) where x >= 0 && x <= 2:
print("\(name) is a infant")
case (let name, let x) where x >= 3 && x <= 12:
print("\(name) is a child")
case (let name, let x) where x >= 13 && x <= 19:
print("\(name) is a teenager")
case (let name, let x) where x >= 20 && x <= 39:
print("\(name) is an adult")
case (let name, let x) where x >= 40 && x <= 60:
print("\(name) is a middle aged")
case (let name, let x) where x >= 61:
print("\(name) is a elderly")
default:
print("Invalid age")
}
Не весь блок просто:
case (let name, let x)
Что именно здесь происходит? Как называется имя «Мэтт»? Почему вам не нужно вводить еще какой-нибудь код, создавая строку, известную как «Мэтт»? Например:
let name = "Matt"
Также, что происходит с передачей х части? Использует ли константу:
let tuple = ("Matt", 30)
Сообщите компьютеру, что в инструкции Switch уже есть строка и Int? Итак, всякий раз, когда используется любая строка, она будет ссылаться на «Мэтт»? Как если бы было сделать что-то вроде этого:
case(let dog, let z)
Почему это не сделать то же самое, что «пусть имя, пусть х»?
Также как «x» относится к 30? Насколько я вижу, «x» будет строкой, но она воспринимается как Int.
Спасибо за ответ, что ваш ответ очистил все для меня. – Oprahgets1