関数型言語は初めてで、Racket を使用して SICP プログラミングの割り当てを行っています。
以下はコードのスニペットで、Racket はdefine: expected only one expression for the function body, but found 5 extra parts
5 行目 ( (define (y k)
)で次のように通知します。
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (y k)
(f (+ a (* k h))))
(define (factor k)
(cond ((or (= k 0) (= k n))
1)
((odd? k)
4)
(else
2)))
(define (term k)
(* (factor k)
(y k)))
(define (next k)
(+ k 1))
(if (not (even? n))
(error "n can't be odd")
(* (/ h 3)
(sum term (exact->inexact a) next n))))
この問題は言語設定に関連していると思いますが、私はすでに「高度な」オプションを使用しています。
ラケットを適切に構成する方法を知っている人はいますか、または内部の「定義」はサポートされていませんか?