gpt4 book ai didi

scheme - Racket 是否支持内部 "define"?

转载 作者:行者123 更新时间:2023-12-01 10:03:42 25 4
gpt4 key购买 nike

我是函数式语言的新手,我正在使用 Racket 做 SICP 编程作业。

下面是一段代码,Racket 告诉我 define: expected only one expression for the function body, but found 5 extra parts, in line 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))))

我猜这个问题与语言设置有关,但我已经使用了“高级”选项。

有人知道如何正确配置 Racket,或者不支持内部“定义”吗?

最佳答案

确实如你所说:高级语言不支持内部define。对于 SICP 练习,有人告诉我最好使用 neil/sicp 包:instructions for using this are detailed here .

然而,即使是标准的 Racket 语言(#lang racket)也将毫无问题地支持内部define

关于scheme - Racket 是否支持内部 "define"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13100160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com