Ruby中这两种方法有什么区别?

时间:2016-03-16 04:07:46

标签: ruby

Ruby中这两种方法有什么区别?

class Mod   

      def doc(str)
          ...
      end

      def Mod::doc(aClass) 
          ...
      end
end

1 个答案:

答案 0 :(得分:6)

Mod::doc()

是一种类方法,而

doc()

是一个实例方法。以下是如何使用两者的示例:

class Mod   
    def doc()
        puts 1
    end

    def Mod::doc() 
        puts 2
    end
end

a = Mod.new
a.doc   #=> 1
Mod.doc #=> 2

Here是一个将其与

进行比较的问题
self.doc()