2011-07-25 475 views
0

貓module1.rb:紅寶石:模塊問題

#!/home/user1/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 

Module module1 

    def add(a,b) 
     return a+b 
    end 

    def subtract(a,b) 
     return a-b 
    end 

end 


temp = "nothing" 
temp.extend module1 
temp.add(5,2) 

紅寶石module1.rb =>

module1.rb:13: syntax error, unexpected keyword_end, expecting $end 

誰能解決這個問題?

回答

1

你需要一個小寫字母m來啓動它。

Oh和模塊名應該是恆定....

開始與

module Module1 
+0

我改變了它從模塊到模塊,module1.rb:3:類/模塊的名稱必須是恆定的 – newcomer

+0

是的,我補充說,我的答案了。 vderyagin給出了完整的答案。 –

11

module關鍵字是大小寫敏感的,並且,作爲雷說,模塊必須是常數(恆定Ruby中的名稱以大寫字母開頭)。這工作:

module Module1 

    def add(a,b) 
     return a+b 
    end 

    def subtract(a,b) 
     return a-b 
    end 

end 


temp = "nothing" 
temp.extend Module1 
temp.add(5,2)