基本开关错误

时间:2015-12-24 21:59:01

标签: ios switch-statement swift2

我是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"
        }
    }
}

在带开关的行上,返回错误:运算符后的预期表达式。看看颜色格式,我的代码似乎没有正确处理变量。那么,我该如何修复此错误以及它究竟是什么意思呢?我确定这是一个只有初学者会犯的简单错误,所以我感谢您耐心帮助我。

1 个答案:

答案 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;
            }
});