如何调用与类私有函数同名的模块函数?

时间:2020-02-06 17:17:08

标签: ruby class oop module

我正在理解内部的工作原理,为此,我创建了一个类Object2和模块Kernel2

这是我创造的,

module Kernel2
    module Display
        def my_print(var)
            sprintf "%s", var
        end
    end
end
class Object2
    include ::Kernel2::Display
    private_class_method :my_print
    def self.my_print(ob)
        sprintf("%s",ob)
    end  
    obj=Object2.new   
    obj.my_print("hello")  #=> Here , I want to call module my_print 
end

我希望my_print的工作方式与puts类似,即,当作为类方法调用时,它将调用Object2 my_print;当作为实例方法调用时,它将调用{{1} } kernel2

我想从my_print类中调用kernel2模块my_print,以便它不会调用object2 object2。 我该如何解决这个问题?

0 个答案:

没有答案
相关问题