SICP 1.3.2では、この機能があります
(define (f x y)
((lambda (a b)
(+ (* x (square a))
(* y b)
(* a b)))
(+ 1 (* x y))
(- 1 y)))
30分間エラーを追跡した後、このページを見つけ、この機能を提供しました
def f_lambda(x: Int, y: Int) =
(((a: Int, b: Int) => ((x * square(a)) + (y * b) + (a * b)))
(1 + (x * y), 1 - y))
なぜ(砦のように)括弧で囲まれているのかわかりません。
編集:申し訳ありませんが、私の本当の問題は、なぜこの関数がそのように構築されているのか理解できないことです。言い換えれば、そもそもなぜすべての括弧が必要なのですか。これまで見てきた Scala コードと比べると、これは完全に「異質」に見えます。