Re: dynamic invoke

2007-10-22 Thread Dustan
On Oct 19, 6:34 am, Nils <[EMAIL PROTECTED]> wrote: > Use apply(): http://docs.python.org/lib/non-essential-built-in-funcs.html Did you actually read the title of the page you linked to ("Non- essential Built-in Functions")? -- http://mail.python.org/mailman/listinfo/python-list

Re: dynamic invoke

2007-10-22 Thread Jarek Zgoda
Sushant napisał(a): > getattr seems to be converting string into function pointer and I am just > saying that string cannot be used as a function pointer in Python as may be > in PHP. It seems, but it does not. Getattr performs lookup on object's attributes dict, it does not "convert" anything.

Re: dynamic invoke

2007-10-19 Thread Sushant
I did not know about getattr and it is the right thing. getattr seems to be converting string into function pointer and I am just saying that string cannot be used as a function pointer in Python as may be in PHP. I copied the PHP code so I did not replace arrow with dot. Good point :) -Sush

Re: dynamic invoke

2007-10-19 Thread Steven D'Aprano
On Fri, 19 Oct 2007 10:29:12 -0400, Sushant wrote: > Python will not allow string to be used a function pointer. It is type > unsafe. Best way is to convert string into function pointers manually. > > if dynamicMethod == 'bar': > method = oFoo->bar > else: > method = oFoo->default > metho

Re: dynamic invoke

2007-10-19 Thread Steven D'Aprano
On Fri, 19 Oct 2007 11:34:39 +, Nils wrote: > Use apply(): > http://docs.python.org/lib/non-essential-built-in-funcs.html No, don't use apply. Not only does it not solve the original poster's problem, it is a deprecated function. You shouldn't use it in new code. -- Steven. -- http://

Re: dynamic invoke

2007-10-19 Thread Diez B. Roggisch
Sushant wrote: > Python will not allow string to be used a function pointer. It is type > unsafe. Best way is to convert string into function pointers manually. > > if dynamicMethod == 'bar': > method = oFoo->bar > else: > method = oFoo->default > method() Sorry to say so, but that answe

Re: dynamic invoke

2007-10-19 Thread Sushant
Python will not allow string to be used a function pointer. It is type unsafe. Best way is to convert string into function pointers manually. if dynamicMethod == 'bar': method = oFoo->bar else: method = oFoo->default method() On Friday 19 October 2007 7:56 am, Diez B. Roggisch wrote: > N

Re: dynamic invoke

2007-10-19 Thread Diez B. Roggisch
Nils wrote: > On Oct 19, 12:39 pm, [EMAIL PROTECTED] wrote: >> Hello, >> >> Is there any way (other then eval) to invoke a method by passing >> method name in a string. >> It's very simple in php: >> $oFoo = new Foo(); >> $dynamiMethod = "bar"; >> $oFoo->$dynamiMethod(); >> >> Unfortunately I can'

Re: dynamic invoke

2007-10-19 Thread Nils
On Oct 19, 12:39 pm, [EMAIL PROTECTED] wrote: > Hello, > > Is there any way (other then eval) to invoke a method by passing > method name in a string. > It's very simple in php: > $oFoo = new Foo(); > $dynamiMethod = "bar"; > $oFoo->$dynamiMethod(); > > Unfortunately I can't find a good solution to

Re: dynamic invoke

2007-10-19 Thread Diez B. Roggisch
[EMAIL PROTECTED] wrote: > On 19 Oct, 11:45, Jarek Zgoda <[EMAIL PROTECTED]> wrote: >> [EMAIL PROTECTED] napisa³(a): >> >> > Is there any way (other then eval) to invoke a method by passing >> > method name in a string. >> > It's very simple in php: >> > $oFoo = new Foo(); >> > $dynamiMethod = "b

Re: dynamic invoke

2007-10-19 Thread lukasz . f24
On 19 Oct, 11:45, Jarek Zgoda <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] napisa³(a): > > > Is there any way (other then eval) to invoke a method by passing > > method name in a string. > > It's very simple in php: > > $oFoo = new Foo(); > > $dynamiMethod = "bar"; > > $oFoo->$dynamiMethod(); > >

Re: dynamic invoke

2007-10-19 Thread Jarek Zgoda
[EMAIL PROTECTED] napisał(a): > Is there any way (other then eval) to invoke a method by passing > method name in a string. > It's very simple in php: > $oFoo = new Foo(); > $dynamiMethod = "bar"; > $oFoo->$dynamiMethod(); > > Unfortunately I can't find a good solution to do the same thing in > p

dynamic invoke

2007-10-19 Thread lukasz . f24
Hello, Is there any way (other then eval) to invoke a method by passing method name in a string. It's very simple in php: $oFoo = new Foo(); $dynamiMethod = "bar"; $oFoo->$dynamiMethod(); Unfortunately I can't find a good solution to do the same thing in python. Does it have some build-in functio