No, as I said, decorators are a rather advanced topic. Until you are
more comfortable with the whole compiler process, I would just try
writing a few small ones with various prints to see what happens.
--Noah
On Dec 31, 2008, at 2:57 PM, Yanom Mobis wrote:
class compile?
Anyway, does it effectively work that way?
--- On Wed, 12/31/08, Noah Kantrowitz <n...@coderanger.net> wrote:
From: Noah Kantrowitz <n...@coderanger.net>
Subject: Re: [pygame] @
To: pygame-users@seul.org
Date: Wednesday, December 31, 2008, 1:41 PM
No, i has nothing to do with runtime. Decorators are evaluated during
class compile.
--Noah
On Dec 31, 2008, at 12:05 PM, Yanom Mobis wrote:
Ohhhh! I get it now! It's used to insure that a specific function
is always called before another. Thanks for clearing it up for me..
--- On Wed, 12/31/08, Michael Phipps <michael.phi...@bluetie.com>
wrote:
From: Michael Phipps <michael.phi...@bluetie.com>
Subject: Re: [pygame] @
To: pygame-users@seul.org
Date: Wednesday, December 31, 2008, 4:37 PM
Yanom -
A decorator is a method that takes another method as a parameter so
that it can do something.. It is usually used for aspect oriented
programming.
For example:
def logThisMethodCall(methodCall)
# Do some logging here
@logThisMethodCall
def myMethod(a,b,c)
# do Somthing in here
Now, whenever you call "myMethod", logThisMethodCall gets called
first, with the invocation of myMethod passed into it. You can use
it for logging, security (i.e. does this person have permission to
be calling this), etc.
Michael
-----Original Message-----
From: "Yanom Mobis" [ya...@rocketmail.com]
Date: 12/31/2008 11:19
To: pygame-users@seul.org
Subject: Re: [pygame] @
so when you do this:
@foo
def bar(): pass
you assume that a function foo() already exists.
and it creates something like this:
def foo():
def bar(): pass
pass
?
I'm sorry, I just got confused.
- On Wed, 12/31/08, Noah Kantrowitz <n...@coderanger.net> wrote:
From: Noah Kantrowitz <n...@coderanger.net>
Subject: Re: [pygame] @
To: pygame-users@seul.org
Date: Wednesday, December 31, 2008, 3:01 AM
decorator. The short version is that this
@foo
def bar(): pass
is the same as this
def bar(): pass
bar = foo(bar)
The long version is "look it up because it gets very complicated and
voodoo-ish"
--Noah
On Dec 30, 2008, at 9:55 PM, Yanom Mobis wrote:
I was reading some Python code examples, and i found the @ symbol.
What
exactly does this operator do?