Fuzzyman wrote:
The following two passages from the python documentation *appear* to contradict each other. Equally possible (or more likely !) is that I misunderstand it :
eval : This function can also be used to execute arbitrary code objects (such as those created by compile()). In this case pass a code object instead of a string. The code object must have been compiled passing 'eval' as the kind argument.
compile: The kind argument specifies what kind of code must be compiled; it can be 'exec' if string consists of a sequence of statements, 'eval' if it consists of a single expression, or 'single' if it consists of a single interactive statement (in the latter case, expression statements that evaluate to something else than None will be printed).
The docs for compile say that if you are creating a code object from a sequence of statements you must use the kind argument 'exec'. Eval says that if you are using the eval function you must use 'eval' as your kind argument.
In practise I have found that using the eval function with code objects compiled with 'exec' as the kind argument works fine. Is this a 'bug' in the docs ? Regards,
"Dear List:
I live close to a railroad, and the tracks are surrounded by a fence with large signs saying 'Walking on the tracks can be dangerous'.
I have walked on the tracks several times, however, and I don't see why the railway company put those signs there. In fact I'm walking along the tracks right now as I enter this post on my hand-held, and
[message ends with sound of locomotive horn followed by an ugly squelch]."
That's the kind of practice best avoided. Are you breaking the rules just for the fun of it?
regards Steve -- Meet the Python developers and your c.l.py favorites March 23-25 Come to PyCon DC 2005 http://www.python.org/pycon/2005/ Steve Holden http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list