作者: 機械伯爵
日時: 2005/1/16(21:30)
 機械です。

 ・・・自損保証の無い車で自損事故やって泣いてます。

>> @deco
>> def func(arg):
>>   ...
>> 
>>  が、
>> 
>> def func(arg):
>>   ...
>> func = deco(func(arg))
>> 
>>  に単純に置き換えられるだけのものです(・・・って、
>> 言い切っていいのかしら?)
>
>これだと、値を修飾してしまいますね。

 ・・・そーですね(汗)

def func(arg):
  ...
func = deco(func)

 ですね・・・

>class Hoge:
>    def hoge(arg):
>        ...
>    hoge = staticmethod(hoge)
>
>とか書いていたのを、
>「いくらなんでもこれでは不格好だからどうにかしようよ」

 私も素直にそう思いました。

>「そうだ、一般化してデコレータを文法に導入しよう!」
>という話になったものなので(多分)、

 で、一般化されたことを知らずにいた時は、staticmethodとか
classmethodとか専用だと思ってました。

 専用にしないで一般化するとこが、例外的文法を作らないPython
らしいというべきか(賛否両論)、あるいは「@って使わないんじゃ
なかったの?」とつっこむべきか・・・

※Guido師はusingは醜いからヤだとかおっしゃるし・・・

 /機械伯爵/