私はGroovyを始めたばかりで、Haskell、C ++、および少しのJavaのバックグラウンドから来ています。
次のようなクロージャーを書いたとしましょう。
def mult = { x, y -> x * y }
後で書くことができますmult(3,5)。
しかし、書くmult(3)と、コンパイルエラーが発生します。
もちろん書くこともできますmult.curry(3)が、それは少し醜いようです。
だから私はこのアプローチを試すことができます:
def mult = { x -> { y -> x * y }}
これでmult(3)問題なく動作しますが、2つの数値を乗算するには、2つの数値を乗算するように書き込む必要がありmult(3)(5)ます。
私が欲しいのは、両方の長所です。mult(3)、、を書けるようにmult(3,5)なりたいですmult(3)(5)。とにかく、クロージャをこのように動作させるには?