* Stefan Behnel:
Alf P. Steinbach, 21.01.2010 09:30:
* Martin Drautzburg:
- to be able to call move(up)
- having the "up" symbol only in the context of the function call
So it should look something like this
... magic, magic ...
move(up)
... unmagic, unmagic ...
print up
Looks like a terribly bad design to me.
That it is, in Python.
This should complain that "up" is not defined during the "print" call,
but not when move() is called. And of course there should be as little
magic as possible.
Any way to achieve this?
def move( direction ):
... print( "move " + str( direction ) )
...
move( "up" )
move up
class using_directions:
... up = 42
... move( up )
...
move 42
up
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'up' is not defined
_
Of course it's an abuse of the language. :-)
And, of course, it's totally useless as the move() function doesn't know
about the 'up' thing in the first place.
Hm, it seems as if you thought that the example was *literally* what the OP
should do.
It was not: it just demonstrated the possibility.
Consider replacing the assignment with whatever, or alternatively, consider that
perhaps 42 is indeed the value of "up" that the move() function knows about.
Cheers & hth.,
- Alf
--
http://mail.python.org/mailman/listinfo/python-list