-1

このブログ投稿では、カレー加算関数のこの実装を提案しました。

def addN(n):
    return lambda x: x + n

def plus(a, b):
    addA=addN(a)
    return addA(b)

単項関数をずっと使用しているので、私のバージョンの方が正しいと思います。

from operator import add
plus = lambda a: lambda b: add(a, b) 
plus(1)(2)

どう思いますか ?

4

1 に答える 1

5

あなたの機能はブログ投稿plusの機能と同じです。addN唯一の違いは次のとおりです。

  1. lambdaブログ投稿で使用された場所を使用しましたdef
  2. 何らかの理由operator.add(a,b)で、単にの代わりに使用しましa+bた。

とを使用するplusaddN同じ結果が得られるため、どちらも「正しい」ものではありません。

選択した関数の名前は、ブログ投稿の関数(関数ではなく)plusに対応しているため、混乱を招くことに注意してください。addNplus

于 2012-05-14T12:56:38.897 に答える