我是Swift编程的新手,我正在学习基本的在线课程,教我语法。在其中一门课程上,它让我这样做:
2a上。将类型属性添加到名为" variety"的Peach类中。它应该包含一系列不同类型的桃子。
2B。添加一个名为ripen()的实例方法,该方法增加存储属性的值,柔和度,并返回一个字符串,指示桃子是否成熟。
2c中。创建Peach类的实例并调用方法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"
}
}
}
在带开关的行上,返回错误:运算符后的预期表达式。看看颜色格式,我的代码似乎没有正确处理变量。那么,我该如何修复此错误以及它究竟是什么意思呢?我确定这是一个只有初学者会犯的简单错误,所以我感谢您耐心帮助我。
答案 0 :(得分:1)
问题始于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
}
...
}
:
$schedule->command('log:demo')->daily()->when(function(){
if(Carbon::now()->toDateString() == Carbon::now()->startOfMonth()->toDateString())
{
return true;
}
});