Symbols as parameters?
stefan_ml at behnel.de
Thu Jan 21 12:41:04 CET 2010
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 ...
>> ... unmagic, unmagic ...
>> print up
Looks like a terribly bad design to me.
>> 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.
More information about the Python-list