作者cgcluck (Never give up!)
看板Python
标题[问题] 函式程设中鞣制(Curry)的概念
时间Thu Jan 3 04:45:42 2013
Hello, everyone
我是python的初学者,以下是我练习的语法
> > > d e f f u n c ( ) :
. . . x = 1 0
. . . d e f g e t X ( ) :
. . . r e t u r n x
. . . d e f s e t X ( n ) :
. . . x = n
. . . r e t u r n ( g e t X , s e t X )
. . .
> > > g e t X , s e t X = f u n c ( )
> > > g e t X ( )
1 0
> > > s e t X ( 2 0 )
> > > g e t X ( )
1 0
> > >
我不太懂的是当setX(20),为什麽getX()=10?
我认为我应该还是不懂curry的概念~烦请高手帮我解答以上的问题。感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 143.215.126.20
1F:→ mars90226:你这个跟curry无关吧= = 01/03 09:56
2F:→ tcling:你想做的是closure,curry是函数的特化。 01/03 10:59
3F:推 beatitude:如同版友说的, 你试图做的效果是closure, 之所以会这样 01/03 20:58
4F:→ beatitude:setX内的x是local variable, 造成variable shadowing 01/03 20:59