基本开关错误
Basic Switch Error
我是 Swift 的编程新手,我正在参加基本的在线课程来教我语法。在 classes 上的一门课程中,它要求我这样做:
2a。添加类型 属性 到名为 "varieties" 的 Peach class。它应该包含一系列不同类型的桃子。
2b。添加一个名为 ripen() 的实例方法,该方法增加存储的 属性、柔软度和 returns 指示桃子是否成熟的字符串的值。
2c。创建 Peach 的实例 class 并调用方法 ripen().
没那么难。对于成熟功能,我决定使用开关控制语句,3是最佳成熟度,1和2太硬,4和5太熟了。
class Peach {
let variety: String
static let varieties = ["Bonita", "Cardinal", "Frost", "Golden"]
var softness: Int
init(variety: String, softness: Int) {
self.variety = variety
self.softness = 0
}
func ripen(softness: Int) -> String {
softness ++
switch softness {
case 1, 2 :
return "Not ready yet"
case 3:
return "Ripe"
case 4,5:
return "Over ripe"
default:
return "Gross"
}
}
}
在开关线上,这个returns错误:运算符后的预期表达式。查看颜色格式,我的代码似乎没有正确处理变量。那么,我该如何解决这个错误,它到底是什么意思呢?我敢肯定这是一个只有初学者才会犯的简单错误,因此非常感谢您耐心地帮助我。
问题从 softness ++
开始。你必须摆脱那个 space。但是当你这样做时,它会抱怨 softness
到 ripen
的参数是不可变的。您可能应该只删除 ripen
的参数,在这种情况下,它会知道您想要增加 softness
属性。
class Peach {
let variety: String
static let varieties = ["Bonita", "Cardinal", "Frost", "Golden"]
var softness: Int
init(variety: String, softness: Int) {
self.variety = variety
self.softness = 0
}
func ripen() -> String {
softness++
switch softness {
case 1, 2 :
return "Not ready yet"
case 3:
return "Ripe"
case 4,5:
return "Over ripe"
default:
return "Gross"
}
}
}
就个人而言,我可能倾向于将 variety
定义为 enum
:
class Peach {
enum Variety {
case Bonita
case Cardinal
case Frost
case Golden
}
let variety: Variety
var softness: Int
init(variety: Variety, softness: Int) {
self.variety = variety
self.softness = 0
}
...
}
我是 Swift 的编程新手,我正在参加基本的在线课程来教我语法。在 classes 上的一门课程中,它要求我这样做:
2a。添加类型 属性 到名为 "varieties" 的 Peach class。它应该包含一系列不同类型的桃子。
2b。添加一个名为 ripen() 的实例方法,该方法增加存储的 属性、柔软度和 returns 指示桃子是否成熟的字符串的值。
2c。创建 Peach 的实例 class 并调用方法 ripen().
没那么难。对于成熟功能,我决定使用开关控制语句,3是最佳成熟度,1和2太硬,4和5太熟了。
class Peach {
let variety: String
static let varieties = ["Bonita", "Cardinal", "Frost", "Golden"]
var softness: Int
init(variety: String, softness: Int) {
self.variety = variety
self.softness = 0
}
func ripen(softness: Int) -> String {
softness ++
switch softness {
case 1, 2 :
return "Not ready yet"
case 3:
return "Ripe"
case 4,5:
return "Over ripe"
default:
return "Gross"
}
}
}
在开关线上,这个returns错误:运算符后的预期表达式。查看颜色格式,我的代码似乎没有正确处理变量。那么,我该如何解决这个错误,它到底是什么意思呢?我敢肯定这是一个只有初学者才会犯的简单错误,因此非常感谢您耐心地帮助我。
问题从 softness ++
开始。你必须摆脱那个 space。但是当你这样做时,它会抱怨 softness
到 ripen
的参数是不可变的。您可能应该只删除 ripen
的参数,在这种情况下,它会知道您想要增加 softness
属性。
class Peach {
let variety: String
static let varieties = ["Bonita", "Cardinal", "Frost", "Golden"]
var softness: Int
init(variety: String, softness: Int) {
self.variety = variety
self.softness = 0
}
func ripen() -> String {
softness++
switch softness {
case 1, 2 :
return "Not ready yet"
case 3:
return "Ripe"
case 4,5:
return "Over ripe"
default:
return "Gross"
}
}
}
就个人而言,我可能倾向于将 variety
定义为 enum
:
class Peach {
enum Variety {
case Bonita
case Cardinal
case Frost
case Golden
}
let variety: Variety
var softness: Int
init(variety: Variety, softness: Int) {
self.variety = variety
self.softness = 0
}
...
}