- 369 名前:347 mailto:sage [2007/12/20(木) 22:42:20 ]
- def makecounter():
number=[0] def _makecounter(x): if x=="init": number[0]=0 elif x=="inc" : number[0] +=1 elif x=="dec" : number[0] -=1 return number[0] return _makecounter counter=makecounter() print counter("init") print counter("inc") print counter("dec") >>226からのリンク先を見てクロージャでカウンタ作れました。 pythonってクロージャの中の変数書きかえれないので numberに無名配列のポインタを入れてそこを操作するって感じなんですね。 mapの中に副作用持ちのlambda式入れられないとかlispとはかなり違うんだな。 うーん、pythonってなんか変w
|

|