Ich versuche zu überprüfen, ob eine Methode in einem Modul mit Module.method_defined?(:method)
definiert ist und es false zurückgibt, es sollte wahr sein.
Something.methods
hat "eine andere" aufgelistet, aber Something.method_defined?(:another)
gibt false
zurück.
Funktioniert das vielleicht nicht, weil die Methode auf sich selbst definiert ist? Wenn dies der Fall ist, gibt es eine andere Möglichkeit, zu überprüfen, ob die Methode auf dem Modul anders als method_defined?
definiert ist?
Um zu wissen, ob das Modul eine Modulmethode hat, können Sie reply_to verwenden? auf der Modul:
%Vor%methode_definiert? wird Ihnen sagen, ob INSTANCES der Klasse mit dem enthaltenen Modul auf die angegebene Methode reagiert.
Modulmethoden sind in ihrer Metaklasse definiert. Sie können also auch prüfen, ob eine Methode in die Methode aufgenommen wird:
%Vor%Sie können mehr darüber in lesen Ruby-Metaklassen verstehen .
Tags und Links ruby