Как вызвать функцию модуля, имя которой совпадает с именем закрытой функции класса? - PullRequest
0 голосов
/ 06 февраля 2020

Я понимаю, как работает внутренне, для этого я создал класс 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, а при вызове метода Instance он будет вызывать kernel2 my_print.

I хотел вызвать kernel2 module my_print из класса object2, чтобы он не вызывал object2 my_print. Как я могу решить эту проблему ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...