[EMAIL PROTECTED] a écrit :
> My parser has found an expression of the form CONSTANT_INTEGER
> OPERATOR CONSTANT_INTEGER. I want to fold this into a single
> CONSTANT_INTEGER.
> 
> The OPERATOR token has an intValue attribute, '+' == 0, '-'== 1, etc.
> In C I'd put functions Add, Subtract, ... into an array and call
> ArithmeticFunctions[ intValue ] to perform the operation. Would I
> index into a list of functions in Python, or would IF/ELIF/ELIF ... be
> the way to go?

Python functions are first class objects, so you can indeed have a list 
(or dict etc) of functions:

funcs = [lambda x : x+1, lambda x : x * 42]
funcs[0](1)
funcs[1](1)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to