Ruby:模块问题

时间:2011-07-25 07:24:42

标签: ruby

cat 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)

ruby​​ module1.rb =>

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

任何人都可以解决它吗?

2 个答案:

答案 0 :(得分:11)

module关键字区分大小写,并且,正如Ray所说,模块必须是常量(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)

答案 1 :(得分:1)

你需要一个小写的m来启动它。

哦,模块名称应该是常量....

开始
module Module1