On Sun, Nov 15, 2009 at 10:23 PM, kstueve <kevin.stu...@gmail.com> wrote: > > An alternative to adding/removing/commenting out/uncommenting print > statements through your code may be to use decorators. A decorator is > a a function that is passed your function whenever it is called. A > decorator can do whatever you want. Some of the possibilities are > caching values of the function, but a decorator might be used to print > debugging statements or keep track of how many times a method is > called (or even pause or wait for input). Some IDEs might have step > through and breakpoint capability. If my memory serves me correctly, > there is a command (I think it works only in the command line, not in > the notebook) that will give timing and method invocations for code. > > @somedecorator > def somefunction(): > code > > When somefunction is called, somedecorator (which is actually another > callable function somewhere) gets called.
That is not correct. Doing @somedecorator def somefunction(): code is equivalent to doing somedecorator def somefunction(): code somefunction = somedecorator(somefunction) The callable somedecorator is called when somefunction is created, not when somefunction is called. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---