Suggest_Code_01
moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()
Result: OK
上述步驟是一步一步走完的程式碼,相當冗長,透過設定函數可以節省版面和編輯時間。觀察下來,可以發現其中4個步驟可以湊成一個循環,這個重複的步驟就可以設定成一個函數。
Suggest_Code_02
func mFcGmFtS(){
moveForward()
collectGem()
moveForward()
toggleSwitch()
}
mFcGmFtS()
moveForward()
turnLeft()
mFcGmFtS()
moveForward()
moveForward()
turnLeft()
mFcGmFtS()
moveForward()
turnLeft()
mFcGmFtS()
Result: OK
我將 moveForward()、collectGem()、moveForward()、toggleSwitch() 這4個指令組合成一個函數,並命名成 func mFcGmFtS(){...},在最初逐步執行的程式碼中,將重複的部分以 func mFcGmFtS() 取代,可發現明顯節省了程式碼一些篇幅。