今天會講些比較進階的東西 各位小心服用
因為前面已知道在使用列舉 所以可以簡寫
然後rawValue 能夠取得原始值
如果列舉裡面有這個值的話 會印出值對應的case
如果沒有就印出nil
第一行 表示一個整數值用來表示一個數字
第二行 表示兩個 列舉 類型的值相加
第三行 表示兩個 列舉 類型的值相乘
indirect 代表可以遞迴 參數代表是 enum 的相關值
也可以設在enum前面 代表整個enum都可以遞迴
定義一個function 裡面的參數是一個列舉型別
透過switch 判斷要執行哪一個case
如果是個number 那就回傳 輸入為整數的value
如果是 plus 就回傳 兩個一樣的function 相加
到這邊大家頭暈暈了吧 直接放上例子
前面兩行就是return值 中間兩行就是遞迴
當我們執行plus時 參數a 跟 b 傳給 evaluate後做相加
就會變成 return (2 + 3)
還是不懂嗎 那我畫張圖
大家感受到遞迴的可怕了嗎
但是這個是很簡單的範例了 希望大家能明白
那今天就到這邊了 明天繼續教大家新的語法