Próbuję sprawdzić, czy metoda jest zdefiniowana w module przy użyciu Module.method_defined?(:method)
i zwraca false, powinno być prawdziwe.Dlaczego metoda Module.method_defined? (: Method) nie działa poprawnie?
module Something
def self.another
1
end
end
Something.methods
ma 'inny' na liście, ale Something.method_defined?(:another)
powraca false
.
Czy to może nie działać, ponieważ metoda jest zdefiniowana na własny rachunek? Jeśli tak, to czy istnieje inny sposób sprawdzenia, czy metoda jest zdefiniowana w module innym niż przy użyciu method_defined?
?
Być może czytam to źle, ale nie powinno to być "Something.respond_to? (: Another)' so 'another' jest symbolem. W przeciwnym razie "inny" nie spowodowałby niezdefiniowanego błędu? –