2010-05-18 4 views

Répondre

1

Si la fonction de bas niveau est écrit en Ruby, rouvrir sa classe et utiliser alias_method_chain:

class TheClass 
    def low_level_with_debug_output 
    puts "I am being called by #{caller.first.inspect}" 
    low_level_without_debug_output 
    end 

    alias_method_chain :low_level, :debug_output 
end 

alias_method_chain est un Rails-isme.

Si la fonction de bas niveau n'est pas écrite dans Ruby, vous devrez peut-être utiliser à la place ruby-debug ou même gdb sur l'interpréteur lui-même pour obtenir la trace de la pile.

+0

Merci! Je l'ai fait, et cela m'a montré l'erreur suivante. Une idée de ce qui a mal tourné? "Prévu /Users/mingyeow/mrtweet/lib/formatter/user_formatter.rb pour définir Formatter :: UserFormatter" –

+0

Vous avez peut-être rouvert la classe de manière incorrecte? Sans voir tout le code je ne peux pas être sûr – x1a4

Questions connexes