我正在克里斯派恩的一个问题学会编程书。我用一些实例方法定义了一个类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]
行之前执行。
我在这里做错了什么?
给班上的身体也..所以我们可以跑 –