Movatterモバイル変換


[0]ホーム

URL:


[Python-Dev] PEP 342: simple example, closure alternative

Alain Poirieralain.poirier at net-ng.com
Fri Aug 26 18:21:58 CEST 2005


Le Vendredi 26 Août 2005 16:57, Guido van Rossum a écrit :> On 8/25/05, Ian Bicking <ianb at colorstudy.com> wrote:> > More generally, I've been doing some language comparisons, and I don't> > like literal but non-idiomatic translations of programming patterns.>> True. (But that doesn't mean I think using generators for this example> is great either.)>> > So I'm considering better ways to translate some of the same use cases.>> Remember that this particuar example was invented to show the> superiority of Lisp; it has no practical value when taken literally.> If you substitute a method call for the "acc += incr" operation, the> Python translation using nested functions is very natural. For larger> examples, I'd recommend defining a class as always.For example, I often use this class to help me in functional programming :  _marker = ()  class var:      def __init__(self, v=None):          self.v = v      def __call__(self, v=_marker):          if v is not _marker:              self.v = v          return self.vand so the nested functions become very functional :  def accum(n):      acc = var(n)      return lambda incr: acc(acc()+incr)


More information about the Python-Devmailing list

[8]ページ先頭

©2009-2025 Movatter.jp