Ich versuche zu überprüfen, ob eine Methode in einem Modul mit Module.method_defined?(:method)
definiert ist und es gibt false zurück, es sollte wahr sein.Warum funktioniert Module.method_defined? (: Method) nicht richtig?
module Something
def self.another
1
end
end
Something.methods
hat 'andere' aufgeführt, aber Something.method_defined?(:another)
kehrt false
.
Funktioniert das vielleicht nicht, weil die Methode auf self definiert ist? Wenn dies der Fall ist, gibt es eine andere Möglichkeit zu überprüfen, ob die Methode auf dem Modul anders definiert ist als method_defined?
?
Vielleicht lese ich das falsch, aber sollte es nicht 'Something.respond_to? (: Ein anderes)' so 'ein anderes' ist ein Symbol. Würde sonst nicht "ein anderer" einen undefinierten Fehler verursachen? –