ruby-uebungen/Assignment_039/solution/readme.md

894 B

Lösung: Methoden dynamisch aufrufen

















































































```ruby def crazy_caller(obj) # Methoden suchen obj.methods.each do |m| # m enthält ein Symbol mit dem Namen der Methode, # wir wollen aber das Methoden-Objekt method = obj.method(m)
begin
  # Methode aufrufen, wenn sie keinen Parameter hat
  method.call {}  if method.arity == 0
rescue
end

end end

class Test def m1; puts 'm1'; end def m2; puts 'm2'; end def m3(a); puts 'm3'; end def m4(a, b); puts 'm4'; end end

crazy_caller(Test.new)