目前使用球拍,无法找到很多帮助,想知道是否有人可以帮助我..
我有
(define (reciprocal x) (/ 1 x))
然而,以前的0不应该工作。 所以我尝试将其修改为
(define (reciprocal x) (if (= x 0)((#f)(/ 1 x)))
我不确定我做错了什么,我希望如果x = 0它会返回false,但它不会这样做。我仍然可以得到倒数,只是没有检查x。有人能指出我在这里做错了什么吗?谢谢!
答案 0 :(得分:3)
您需要重新构造if-else子句。此表单的典型Scheme语法如下:
(if (predicate expression) then else)
因此,您将按如下方式重写代码:
(define (reciprocal x) (if (= x 0) #f (/ 1 x)))