我正在克里斯派恩的一個問題學會編程書。我用一些實例方法定義了一個類Pet
。在類定義之外,我試圖構建一個方法,該方法將採用一個字符串和一個Pet
類的實例並運行適當的實例方法。Ruby:使用散列來訪問實例方法
def dispatch(command, pet)
dispatches = {'feed' => pet.feed,
'walk' => pet.walk,
'put to bed' => pet.putToBed,
'rock' => pet.rock,
'toss' => pet.toss}
dispatches[command]
end
當dispatch
方法運行,但是,執行中出現的散列的所有實例的方法,而不是僅僅相當於command
之一。它們按照它們在代碼中出現的順序執行,並且在達到dispatches[command]
行之前執行。
我在這裏做錯了什麼?
給班上的身體也..所以我們可以跑 –