作者: Atsuo Ishimoto
日時: 2002/5/16(01:41)
石本です。

On Thu, 16 May 2002 00:47:11 +0900
Atsuo Ishimoto <ishimoto@...> wrote:

> この場合のfunc0, func1はこんなのでどうでしょ?
> 
> class Func:
>     def __init__(self, f=None):
>         self.f = f
> 
>     def __mul__(self, r):
>         return Func(lambda x, r=r: self(r(x)))
> 
>     def __call__(self, x):
>         return self.f(x)
> 


こう書いたほうが判り易いかな?

class Func:
    def __mul__(self, r):
        return Composit(lambda x, r=r: self(r(x)))

class Composit(Func):
    def __init__(self, f=None):
        self.f = f
    
    def __call__(self, x):
        return self.f(x)

# 以下は同じ。

class Func0(Func):
    def __call__(self, x):
        return x*2
........
........
........
........

--------------------------
Atsuo Ishimoto
ishimoto@...
Homepage:http://www.gembook.jp