【发布时间】:2021-09-08 11:51:00
【问题描述】:
我正在使用 DrRacket 学习 Scheme,并正在研究一个名为“sign”的过程,该过程接受一个参数,如果小于 0,则返回 -1,如果大于 0,则返回 1,如果 = 0,则返回 0。
我的代码如下
(define (sign x)
(and (> x 0) 1)
(and (= x 0) 0)
(and (< x 0) -1))
我只能使用'and'和'or'在我的任务中编写代码,这意味着我不能使用'if'和'cond'等。
我的代码在使用(sign 5) 或其他任何东西运行时返回#t。
【问题讨论】:
-
我修复了缩进。这样更容易看到错误。
-
@ceving 但缩进可能是导致 OP 出错的部分原因...... :)