2012-03-08 32 views
0

編輯內由用戶調用的方法顯示模塊及類

class Tof 
    def Tof.etiology 
    puts "NS displacement of the infundibular septum" 
    end 
    def Tof.pathophys 
    puts "VSD, Overriding of the Aorta, RVH, pulmonary stenosis" 
    end 
end 

puts "What would you like to know?" 

如何獲取用戶輸入Tof.etiology,使得看跌語句顯示

+3

我真的不知道你在問什麼,你能澄清你期待發生什麼? – 2012-03-08 18:28:57

+0

我想你錯了。你能提供你想要完成的更全面的概述嗎? – nicholaides 2012-03-08 18:39:46

+0

基本上我想每次都有相同的7個方法的很多類,但爲了靈活性而留下空間 – 2012-03-08 20:35:14

回答

1

(編輯爲新的答案有問題的代碼)

你應該能夠通過簡單的繼承來實現這一點。

class Foo 
    def m1 
    puts "method 1" 
    end 
    # ... 
    def m7 
    puts "method 7" 
    end 
end 

class Bar < Foo 
end 

class Baz < Foo 
end 

bar = Bar.new 
bar.m1 # method 1 

baz = Baz.new 
baz.m1 # method 1 

你也可以使模塊Foo和使用混入。

第二部分可以與最初的回答進行處理:

puts "what would you like to know?" 
answer = gets.chomp 

case answer 
when "Tof.etiology" 
    Tof.etiology 
when "Tof.othermethod" 
    Tof.othermethod 
end 
+0

我想添加一個方法來顯示一個類下的所有可用方法,但是每個類可能沒有相同的方法或方法的數量,我將如何做到這一點的效率比: '高清Tof.methods' '提出 「M1,M2,M3 M4 M5」'' end' ... '當 「飛行時間質譜」'' 飛行時間質譜.methods' – 2012-03-09 09:19:00