使用以下代碼,我期望用戶輸入"pluto"
或"scooby"
,並調用該實例的speak()
方法。參照基於用戶輸入的變量
class Dog
def speak()
puts "Woof"
end
end
scooby = Dog.new
pluto = Dog.new
puts "Which dog would you like to speak? [scooby/pluto]"
response = gets.chomp
response.speak()
如果你能告訴我如何做到這一點,以及/或者稱之爲什麼,那將超越真棒。
關於「你稱之爲什麼」取決於你是否真的想通過你間接計算出來的變量名(通常皺眉)來調用'speak',或者你是否只是通過名字查找的對象來調用方法。我不認爲這兩種情況都有一個爲它命名的編程模式或設計模式,但是如果知道是否存在這樣的答案,它會感興趣。 –