亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于枚舉中 定義方法的問題

如題 這一章劉sir講到了在枚舉中定義方法?

之前學習枚舉的時候 有一個遞歸計算的例子 如果我想把計算函數放到枚舉里 變成Ta自己的方法 應該怎么把方法提前聲明呢?


indirect enum ArithmeticExpression2{

?? ?

? ? case Number(Int)

? ? case Addition( ArithmeticExpression , ArithmeticExpression )

? ? case Multiplication( ArithmeticExpression , ArithmeticExpression )

?? ?

? ? func evaluate() -> Int {

? ? ? ? switch self {

? ? ? ? case let .Number(value):

? ? ? ? ? ? return value

? ? ? ? case let .Addition(left, right):

? ? ? ? ? ? //return evaluate(left) + evaluate(right) ? ? ? ? ? ? ? ? ? ? ? ? ? //swift 2

? ? ? ? ? ? return left.evaluate() + right.evaluate() ? ? //swift 3

? ? ? ? case let .Multiplication(left, right):

? ? ? ? ? ? //return evaluate(left) * evaluate(right) ? ? ? ? ? ? ? ? ? ? ? ? ? //swift 2

? ? ? ? ? ? return left.evaluate() * right.evaluate()? ? //swift 3

? ? ? ? }

? ? }


}

這里報錯了

Value of type 'ArithmeticExpression' has no member 'evaluate'


請問方法有沒有類似indeirect的關鍵字聲明呢 或者我該如何修改

正在回答

舉報

0/150
提交
取消

關于枚舉中 定義方法的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號