私は、係数のリストとx値を渡すことで多項式を評価するテール再帰関数を作成しています。スキームテール再帰関数の構文エラー
例:x^3 + 2x^2 + 5を評価すると、ユーザーは関数呼び出し(poly '(5 0 2 1)1)でリスト'(5 0 2 1)とxの1を渡します。 )。
私は次のエラー取得していますなぜ私は理解することはできません:あなたは最後の行でpoly-assistant
前に左括弧が必要
if: bad syntax in: (if (null? (cdr lst)) (+ total (car lst)) eval-poly-tail-helper ((cdr lst) x (+ (* (expt x n) (car lst)) total) (+ 1 n)))
(define (poly lst x)
(poly-assistant lst x 0 0))
(define (poly-assistant lst x total n)
(if (null? (cdr lst))
(+ total (car lst))
poly-assistant((cdr lst) x (+ (* (expt x n) (car lst)) total) (+ 1 n))))
あなた自身で宿題をしようとしてください!あなたのfix-my-codeの質問は話題にはなりません。 –