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
-~----------~----~----~----~------~----~------~--~---

Reply via email to