我是编程新手,即将完成“Intro to App Development with Swift”iBook。我目前在第19课,枚举和交换机,并在相关的操场8页它显示下面的代码:枚举行为的理解(用Swift介绍应用程序开发 - 第19课)
enum LunchChoice {
case pasta, burger, soup
}
func cookLunch(_ choice: LunchChoice) -> String {
if choice == .pasta {
return ""
} else if choice == .burger {
return ""
} else if choice == .soup {
return ""
}
return "Erm... how did we get here?"
}
cookLunch(.soup)
本身,这不是一个问题,我听不懂,但有一次我打电话cookLunch(.soup)
,最后的回报声明不显示。 演习略低于问我:
尝试改变传递给cookLunch值,以便在最终else语句被称为
而这正是我卡住了,因为它似乎不可能通过除了枚举中的选项以外,它与cookLunch函数不同。
你能帮助我理解这一切背后的意义,也许提供给我一个解决方案?
如果您传入.soup的值,则会触发las子句。顺便说一句 - 更好的做法是使用switch语句而不是if语句。 – Abizern
是的,这是本书解释交换机会更好的方式。但仍然,最后一个条款并没有出现... –